backup e codice deprecato

This commit is contained in:
Gianluigi 2022-06-10 18:21:12 +02:00
parent daad44dc92
commit 3d75aeb68c
15 changed files with 1725 additions and 1481 deletions

View File

@ -106,4 +106,99 @@ add_shortcode( 'header_didattica', function () {
return $out;
} );
# griglia per loop generico per categoria ed etichetta
add_shortcode ( 'grigliaeduinaf', 'grigliaeduinaf');
function grigliaeduinaf ($atts) {
extract(
shortcode_atts(
array(
'categoria' => 'null',
'etichetta' => 'null',
),
$atts
)
);
if ( $categoria <> 'null' ) {
if ( $etichetta <> 'null' ) {
$q = new WP_Query( array( 'category_name' => $categoria, 'tag' => $etichetta, 'posts_per_page'=>-1 ) );
}
else {
$q = new WP_Query( array( 'category_name' => $categoria, 'posts_per_page'=>-1 ) );
}
}
else {
if ( $etichetta <> 'null' ) {
$q = new WP_Query( array( 'tag' => $etichetta, 'posts_per_page'=>-1 ) );
}
else { $q = new WP_Query( array( 'categoria' => 'beta', 'posts_per_page'=>0 ) );}
}
$grid = '<ul class="grid-wrap">';
if ( $q->have_posts() ) {
while ( $q->have_posts() ) {
$q->the_post();
$thumb = get_the_post_thumbnail($post->ID, 'thumbnail');
$grid = $grid.'<li class="grid-item"><span class="grid-border"><a href="'.get_the_permalink().'">'.$thumb.'</a><h4>'.get_the_title().'</h4></span></li>';
}
$grid = $grid.'</ul>';
# ripristino ricerca
wp_reset_postdata();
} else {
$grid = '<p><strong>Nessun articolo trovato</strong></p>';
}
return $grid;
}
# creazione della griglia per il loop dei libri: pesca il campo del titolo del libro
add_shortcode( 'griglialibri', 'griglialibri' );
function griglialibri ($atts) {
global $post; #https://wordpress.stackexchange.com/questions/43315/use-a-shortcode-to-display-custom-meta-box-contents
extract(
shortcode_atts(
array(
'etichetta' => 'libri-per-bambini-e-ragazzi',
),
$atts
)
);
$q = new WP_Query( array( 'category_name' => 'libri', 'tag' => $etichetta, 'posts_per_page'=>-1 ) );
$grid = '<ul class="grid-wrap">';
if ( $q->have_posts() ) {
while ( $q->have_posts() ) {
$q->the_post();
# recupero dei valori dei campi personalizzati definiti in metabox.php
$customtitlevalue = get_post_meta($post->ID, "meta-titolo", true);
$thumb = get_the_post_thumbnail($post->ID, 'thumbnail');
# ciclo if che sostituisce, se presente, il titolo del post con il titolo del libro
if ( $customtitlevalue <> 'null') {
$titolo = $customtitlevalue;
}
else
{
$titolo = get_the_title();
}
$grid = $grid.'<li class="grid-item"><a href="'.get_the_permalink().'">'.$thumb.'</a><h4>'.$titolo.'</h4></li>';
}
$grid = $grid.'</ul>';
# ripristino ricerca
wp_reset_postdata();
} else {
$grid = '<p><strong>Nessun articolo trovato</strong></p>';
}
return $grid;
}

View File

@ -0,0 +1,92 @@
<?php
# tassonomia per gli speciali
function speciali_tax() {
$labels = array(
'name' => _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','video_settimana'), /* 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 ) {
$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 ='<div class="divTable paleBlueRows">';
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 = '<em>di <strong>'.$autori.'</strong></em><br/>';
} else {
$auth = null;
}
$estratto = get_the_excerpt();
/* griglia con titolo ed estratto: stilizzazione minimale */
$header = '<h4 style="color: #ecb252;">'.$titolo.'</h4>';
/* griglia con titolo ed estratto: formato tabella */
$headerblu = '<div class="divTableHeading"><div class="divTableRow"><div class="divTableHead">'.$titolo.'</div></div></div>';
$contentblu .= $headerblu.'<div class="divTableBody"><div class="divTableRow"><div class="divTableCell">'.$auth.$estratto.'<br/>(<a href="'.get_the_permalink().'" style="color: #1d71b8;">continua</a>)</div></div></div>';
}
$contentblu = $contentblu.'</div>';
/* ripristino */
wp_reset_postdata();
} else {
$contentblu = null;
}
return $contentblu;
}
add_shortcode( 'grigliaspeciali', 'grigliaspeciali' );

View File

@ -0,0 +1,57 @@
<?php
#
# widget per gli shortcode
#
class Widget_Shortcode extends WP_Widget {
/** Registrazione del widget */
public function __construct() {
parent::__construct(
'widget_shortcode', // Base ID
'Widget Shortcode', // Name
array( 'description' => __( 'Widget per l\'inserimento degli shortcode nelle sidebar', 'text_domain' ), ) // Args
);
}
/** Back-end del widget */
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
} else {
$title = __( 'blog-post-coauthors', 'text_domain' );
}
?>
<p>
<label for="<?php echo $this->get_field_name( 'title' ); ?>"><?php _e( 'Codice shortcode:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}
/** Ripulisce i valori del widget man mano che vengono salvati */
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( !empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
/** Front-end del widget */
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
extract( $args );
$shortcode = do_shortcode('['.$title.']');
echo $shortcode;
echo $after_widget;
}
}
// class Widget_Shortcode
// Registra Widget_Shortcode
add_action( 'widgets_init', 'register_wdshortcode' );
function register_wdshortcode() {
register_widget( 'Widget_Shortcode' );
}