diff --git a/eduinafoldcode/php/griglia.php b/eduinafoldcode/php/griglia.php new file mode 100644 index 0000000..9c8ef94 --- /dev/null +++ b/eduinafoldcode/php/griglia.php @@ -0,0 +1,65 @@ + null, + 'tipo' => null, + ), + $atts + ) + ); + + if ( $tipo == null ) { + $q = new WP_Query( array( 'speciali' => $speciale, 'post_type'=> 'post', 'posts_per_page'=>-1 ) ); + } else { + $q = new WP_Query( array( 'speciali' => $speciale, 'post_type'=> $tipo, 'posts_per_page'=>-1 ) ); + } + + $contentblu ='
'; + + if ( $q->have_posts() ) { + while ( $q->have_posts() ) { + $q->the_post(); + $titolo = get_the_title(); + + if ( $tipo == 'post' ) { + if ( function_exists( 'get_coauthors' ) ) { + $autori = coauthors_posts_links(", ", " e ", null, null, false); + } else { + $autori = the_author(); + } + } else { + $autori = null; + } + + if ( $autori <> null ) { + $auth = 'di '.$autori.'
'; + } else { + $auth = null; + } + + $estratto = get_the_excerpt(); + + /* griglia con titolo ed estratto: stilizzazione minimale */ + $header = '

'.$titolo.'

'; + + /* griglia con titolo ed estratto: formato tabella */ + $headerblu = '
'.$titolo.'
'; + $contentblu .= $headerblu.'
'.$auth.$estratto.'
(continua)
'; + } + + $contentblu = $contentblu.'
'; + + /* ripristino */ + wp_reset_postdata(); + } else { + $contentblu = null; + } + + return $contentblu; +} +add_shortcode( 'grigliaspeciali', 'grigliaspeciali' ); diff --git a/eduinafoldcode/php/link.php b/eduinafoldcode/php/link.php new file mode 100644 index 0000000..937962f --- /dev/null +++ b/eduinafoldcode/php/link.php @@ -0,0 +1,75 @@ + null, + 'code' => null, + ), + $atts + ) + ); + + if ( $lang <> null ) { + $link = ''.$content.''; + } else { + $link = ''.$content.''; + } + + return $link; +} + +# Spacescoop +add_shortcode('spacescoop', 'spacescoop'); + + function spacescoop ($atts, $content = null) { + + extract( + shortcode_atts( + array( + 'lang' => null, + 'code' => null, + ), + $atts + ) + ); + + if ( $lang <> null ) { + $link = ''.$content.''; + } else { + $link = ''.$content.''; + } + + return $link; +} + +# Sapere +add_shortcode('sapere', 'sapere'); + + function sapere ($atts, $content = null) { + + extract( + shortcode_atts( + array( + 'url' => null, + 'num' => null, + 'data' => null, + 'doi' => null, + ), + $atts + ) + ); + + if ( $doi <> null ) + {$link = '

Estratto dall\'articolo "'.$content.'" uscito su Sapere n.'.$num.' di '.$data.'. doi:'.$doi.'

';} + else + {$link = '

Estratto dall\'articolo "'.$content.'" uscito su Sapere n.'.$num.' di '.$data.'

';} + + return $link; +} diff --git a/eduinafoldcode/php/menu.php b/eduinafoldcode/php/menu.php new file mode 100644 index 0000000..295a95a --- /dev/null +++ b/eduinafoldcode/php/menu.php @@ -0,0 +1,47 @@ +Edu INAF Tools'; + echo '
'; + echo '

Il plugin aggiunge vari shortcode e codici.

'; + echo '

Shortcode editoriali

'; + echo '

[astroedu code="..." lang="..."]

'; + echo '

[spacescoop code="..." lang="..."]

'; + echo '

Nel parametro code va inserito il codice numerico relativo all\'attività. Nel parametro lang il codice di localizzazione (it, en, ecc.). Nel caso di assenza di quest\'ultimo parametro, it è inserito di default. Il parametro code è invece necessario per il corretto funzionamento dello shortcode.

'; + echo '

Loop come elenco

'; + echo '

[postlooptab intro="testo di introduzione al loop" categoria="categoria" tag="tag" pag="numero post"]

'; + echo '

Lo shortcode funziona anche senza specificare alcuno dei parametri richiesti.

'; + echo '

Shortcode delle sidebar

'; + echo ''; + echo '

Griglia di libri

'; + echo '

Il plugin aggiunge anche uno shortcode che genera una griglia. Esistono due distinte versioni: lo shortcode generico:

'; + echo '

[grigliaeduinaf categoria="..." etichetta="..."]

'; + echo '

in cui almeno uno dei due parametri deve essere specificato.

'; + echo '

Il secondo shortcode, invece, genera una griglia appositamente per i libri:

'; + echo '

[griglialibri etichetta="..."]

'; + echo '

dove il parametro etichetta è, al momento, settato di default sul valore "libri-per-bambini-e-ragazzi" e va utilizzato per distinguere tra le tre differenti sottosezioni delle recensioni

'; + echo '

Loop personalizzati

'; + echo '

Per realizzare dei loop personalizzati si può utilizzare lo shortcode

'; + echo '

[postlooptab intro="Ultimi articoli" pag="5" categoria="..." tag="..." stile="1"]

'; + echo '

Nell\'esempio sono inseriti, laddove presenti, i valori di default.
Per gli stili, è possibile indicare 1 per un elenco in linea con quello del tema, 2 per un elenco con nome dell\'autore e data di pubblicazione, 3 per una griglia di quadrati.

'; + echo '

Shortcode per gli speciali

'; + echo '

Per la creazione del loop nella pagina di uno speciale:

'; + echo '

[grigliaspeciali speciale="slug speciale" tipologia post"]

'; + echo '
'; +} + +/** Aggiunta del menu */ +add_action( 'admin_menu', 'eduinaf_menu' ); diff --git a/eduinafoldcode/php/metabox.php b/eduinafoldcode/php/metabox.php new file mode 100644 index 0000000..514a9d9 --- /dev/null +++ b/eduinafoldcode/php/metabox.php @@ -0,0 +1,44 @@ +ID ); + ?> + +

+ + +

+ + 'null', + ), + $atts + ) + ); + + #tutti i termini associati all'eventuale speciale associato al post + $terms = get_the_terms ( $post->ID, 'speciali' ); + + foreach ( $terms as $term ) { + $term_link = get_term_link( $term, 'speciali' ); + $toc = $term->slug; + + if ( $toc <> $speciale ) { + $content = null; + } else { + $q = new WP_Query( array( 'speciali' => $speciale, 'posts_per_page'=>-1 ) ); + $header = '

Gli articoli dello speciale '.$term->name.'

'; + + if ( $q->have_posts() ) { + while ( $q->have_posts() ) { + $q->the_post(); + $titolo = get_the_title(); + + $content .= '
  • '.$titolo.'
  • '; + } + /* ripristino */ + wp_reset_postdata(); + } + $content = '
    '.$header.'
    '; + } + } + + $content = $content.$after_widget; + + if ( get_post_type() == 'post' ) { + $out = $content; + } else { + $out = null; + } + + return $out; +} +add_shortcode( 'tabspeciali', 'tabspeciali' );