2017-12-18 13:05:40 +01:00
< ? php
/*
2020-07-18 02:17:42 +02:00
Plugin Name : Book Template
Description : Plugin che aggiunge uno shortcode per la creazione di un box con i dati editoriali di un libro o di un fumetto .
2020-08-14 17:31:58 +02:00
Version : 2020.0813
2017-12-18 13:05:40 +01:00
Author : Gianluigi Filippelli
Author URI : http :// dropseaofulaula . blogspot . it /
2018-02-13 13:02:31 +01:00
Plugin URI : https :// ulaulaman . github . io / book - template /
2018-01-25 12:42:10 +01:00
License : GPLv2 or later
2017-12-18 13:05:40 +01:00
*/
2020-11-20 01:33:32 +01:00
# Caricamento traduzioni
2018-02-13 13:02:31 +01:00
add_action ( 'plugins_loaded' , 'bt_load_translations' );
function bt_load_translations () {
load_plugin_textdomain ( 'book-template' , false , dirname ( plugin_basename ( __FILE__ ) ) . '/lang/' );
}
2020-11-20 01:33:32 +01:00
# Caricamento metabox
2018-01-25 12:42:10 +01:00
add_action ( 'load-post.php' , 'bookdata_meta_box_setup' );
add_action ( 'load-post-new.php' , 'bookdata_meta_box_setup' );
2018-02-13 13:02:31 +01:00
# Setup metabox
2018-01-25 12:42:10 +01:00
function bookdata_meta_box_setup () {
2020-11-20 01:33:32 +01:00
# Aggiunta del metabox
2018-01-25 12:42:10 +01:00
add_action ( 'add_meta_boxes' , 'bookdata_meta_box' );
}
2017-12-18 13:05:40 +01:00
function bookdata_meta_box () {
2018-01-25 12:42:10 +01:00
2018-02-13 13:02:31 +01:00
$intro = __ ( 'Inserimento dati editoriali' , 'book-template' );
2018-01-25 12:42:10 +01:00
add_meta_box (
2018-02-13 13:02:31 +01:00
'bookdata-post-class' , // ID unico
esc_html__ ( $intro , 'example' ), // Titolo
'bookdata_class_meta_box' , // funzione
'post' , // associato a
'side' , // contesto
'high' // priorità
2018-01-25 12:42:10 +01:00
);
2017-12-18 13:05:40 +01:00
}
2020-11-20 01:33:32 +01:00
# Mostra il metabox
2018-01-25 12:42:10 +01:00
function bookdata_class_meta_box ( $post ) { ?>
< ? php wp_nonce_field ( basename ( __FILE__ ), 'bookdata_class_nonce' ); ?>
< p >
2020-08-13 11:40:40 +02:00
< label for = " bookdata-post-class " >< ? php _e ( 'Esempio generico [bookdata title="Titolo" author="Autore/i" publisher="Editore" date="Data" pages="numero pagine" type="brossurato,cartonato,digitale/on-line" price="prezzo/gratuito"]' , 'book-template' ); ?> <br/><?php _e(' In caso di fumetto o libro illustrato, inserire il colore [bookdata ... col="colore,b/n"]', 'book-template' ); ?><br/><?php _e( 'Possono essere inseriti opzionalmente ISBN [bookdata ... isbn="codice"] o ISSN [bookdata ... issn="codice"], il traduttore [bookdata ... translator="Traduttore"], l\'età consigliata [bookdata ... age="età consigliata"] ed eventuali note aggiuntive [bookdata ... notes="Note aggiuntive"]', 'book-template' ); ?><br/><?php _e( 'I dati possono essere inseriti anche in maniera disordinata: ci penserà il plugin a riordinarli.', 'book-template' ); ?></label></p>
2018-01-25 12:42:10 +01:00
< ? php }
2020-11-20 01:33:32 +01:00
# Creazione shortcode dati editoriali
2018-02-13 13:02:31 +01:00
add_shortcode ( 'bookdata' , 'bookdata' );
2017-12-18 13:05:40 +01:00
function bookdata ( $atts , $content = null ) {
extract (
shortcode_atts (
array (
2020-08-13 11:40:40 +02:00
'title' => null ,
'author' => null ,
2017-12-18 13:05:40 +01:00
'translator' => null ,
2020-08-13 11:40:40 +02:00
'publisher' => null ,
'date' => null ,
'pages' => null ,
'type' => null ,
'col' => null ,
'price' => null ,
'age' => null ,
'isbn' => null ,
'issn' => null ,
'notes' => null ,
2017-12-18 13:05:40 +01:00
),
$atts
)
);
2020-07-18 02:17:42 +02:00
$intro = __ ( 'Abbiamo parlato di:' , 'book-template' );
2018-02-13 13:02:31 +01:00
2020-08-13 20:20:40 +02:00
$book = '<p><strong>' . $intro . '</strong><br/><em>' . $title . '</em><br/>' . $author ;
2017-12-18 13:05:40 +01:00
if ( $translator <> null )
2018-02-13 13:02:31 +01:00
{ $translator = __ ( 'Traduzione di ' , 'book-template' ) . $translator ;
$book = $book . '<br/>' . $translator ;}
2017-12-18 13:05:40 +01:00
else
{ $book = $book ;}
2018-02-13 13:02:31 +01:00
$pages = $pages . ' ' . __ ( 'pagine' , 'book-template' );
2017-12-18 13:05:40 +01:00
if ( $col <> null )
2018-03-26 12:52:53 +02:00
{ $book = $book . '<br/>' . $publisher . ', ' . $date . '<br/>' . $pages . ', ' . $type . ', ' . $col . ' – ' . $price ;}
2017-12-18 13:05:40 +01:00
else
2018-03-26 12:52:53 +02:00
{ $book = $book . '<br/>' . $publisher . ', ' . $date . '<br/>' . $pages . ', ' . $type . ' – ' . $price ;}
2017-12-18 13:05:40 +01:00
2020-08-13 11:40:40 +02:00
if ( $age <> null )
{ $book = $book . '<br/>' . __ ( 'Lettura consigliata per ' , 'book-template' ) . $age ;}
else
{ $book = $book ;}
2017-12-18 13:05:40 +01:00
if ( $isbn <> null )
{ $book = $book . '<br/>ISBN: ' . $isbn ;}
else
{
if ( $issn <> null )
{ $book = $book . '<br/>ISSN: ' . $issn ;}
else
{ $book = $book ;}
}
if ( $notes <> null )
{ $book = $book . '<br/>' . $notes ;}
else
{ $book = $book ;}
$text = $book ;
return $text ;
}
?>