From 912fed7e7131f66baf72df3875506d2d5d6c0747 Mon Sep 17 00:00:00 2001 From: ulaulaman Date: Fri, 16 Apr 2021 17:27:18 +0200 Subject: [PATCH] Codice obsoleto sugli speciali, sostituito in EduINAF Tools con tre file distinti --- eduinafoldcode/php/speciali.php | 143 ++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 eduinafoldcode/php/speciali.php diff --git a/eduinafoldcode/php/speciali.php b/eduinafoldcode/php/speciali.php new file mode 100644 index 0000000..8842770 --- /dev/null +++ b/eduinafoldcode/php/speciali.php @@ -0,0 +1,143 @@ + _x('Speciali', 'taxonomy general name'), + 'singular_name' => _x('Speciale', 'taxonomy singular name'), + 'all_items' => __('Tutti gli speciali'), + 'edit_item' => __('Modifica speciale'), + 'update_item' => __('Aggiorna speciale'), + 'add_new_item' => __('Aggiungi un nuovo speciale'), + 'new_item_name' => __('Nuovo speciale'), + 'menu_name' => __('Speciali'), + ); + + register_taxonomy( + 'speciali', + array('post','astrodidattica'), /* per estendere array('post','page','custom-post-type') */ + array( + 'hierarchical' => true, + 'labels' => $labels, + 'show_ui' => true, + 'query_var' => true, + 'rewrite' => array('slug' => 'speciali'), + ) + ); +} +add_action('init', 'speciali_tax', 0); + +# shortcode per la creazione della griglia per la pagina degli speciali +function grigliaspeciali($atts) { + global $post; + + extract( + shortcode_atts( + array( + 'speciale' => null, + 'tipo' => null, + ), + $atts + ) + ); + + if ( $tipo == null ) { + $tipo = 'post'; + } + + $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' ); + +# nuovo shortcode per listare nella barra gli articoli di uno speciale +function tabspeciali($atts) { + global $post; + + extract( + shortcode_atts( + array( + 'speciale' => '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' );