Articoli correlati Jetpack: come aggiungere filtri

articoli correlati jetpack modificare palle colorate

Spesso per comodità utilizzo per i siti WordPress il plugin Jetpack, che prevede una serie di piccoli ma utilissimi strumenti. Uno di questi è quello che permette di visualizzare sul fondo dei post gli articoli correlati.

Ma le personalizzazioni “standard” per questo strumento si limitano alla visualizzazione grafica e non questa non basta quasi mai. Per fortuna ci vengono in aiuto una serie di filtri che è possibile impostare nel  file functions.php del nostro tema child (oppure utilizzando il plugin Code Snippets che io trovo comodissimo).

Ecco le funzioni che utilizzo più spesso:

  1. modificare il numero di articoli da visualizzare

    Quanti articoli visualizzare nella sezione articoli correlati? Questa è una modifica molto semplice, è sufficiente settare l’opzione ‘size’ sul numero desiderato (nel nostro esempio qui sotto saranno cinque articoli).

    function numero_articoli_correlati( $options ) {
    $options['size'] = 5;
    return $options;
    }
    add_filter( 'jetpack_relatedposts_filter_options', 'numero_articoli_correlati' );
  2. escludere un post specifico

    In questo caso è sufficiente andare a vedere l’ID del post che voglio escludere (per trovarlo vado sull’elenco degli articoli, posiziono il mouse sul titolo dell’articolo che voglio escludere -senza cliccare!- e guardo in basso a sx; comparirà una riga con il link al post, in cui ci sarà qualcosa tipo …post.php?post=250&action… bene, quel numero (nell’esempio che ho fatto è 250) è l’ID del post). Supponiamo che io voglia escludere i post con ID 250 e 315.

    A questo punto sono pronta per scrivere la mia funzione(I riferimenti della funzione che useremo sono nella pagina dedicata agli sviluppatori jetpack):

    function jetpack_escludo_post_da_correlati( $exclude_post_ids, $post_id ) {
    $exclude_post_ids[] = 250; // Escludo il post che ha ID 250
    $exclude_post_ids[] = 315; // Escludo anche il post con ID 315
    return $exclude_post_ids;
    }
    add_filter( 'jetpack_relatedposts_filter_exclude_post_ids', 'jetpack_escludo_post_da_correlati', 20, 2 );

  3. escludere correlati DA un post specifico

    E se al contrario io volessi che in alcuni post NON comparissero i correlati, mentre in tutti gli altri sì?

    Anche in questo caso è sufficiente andare a vedere l’ID del post che voglio visualizzare senza che c siano i post correlati, con lo stesso procedimento che ho spiegato sopra. Supponiamo che io non voglia i correlati nei post 5 e 16:

    function jetpack_senza_correlati( $options ) {
    if ( is_single( array( 5, 16 ) ) ) {
    $options['enabled'] = false;
    }
    return $options;
    }
    add_filter( 'jetpack_relatedposts_filter_options', 'jetpack_senza_correlati' );

  4. escludere una categoria di post

    Proseguiamo con la nostra carrellata a complessità crescente, il codice che segue serve per escludere dagli articoli correlati una predefinita categoria di post.

    function jetpack_escludo_categoria ( $filters ) {
    $filters[] = array( 'not' => array( 'term' => array( 'category.slug' => 'homepage' ) ) );
    return $filters;
    }
    add_filter( 'jetpack_relatedposts_filter_filters', 'jetpack_escludo_categoria' );
  5. visualizzare anche le pagine

    Infine la modifica necessaria per visualizzare non solo i post (gli articoli), ma anche le pagine create.

    function jetpack_aggiungo_pagine( $post_type, $post_id ) {
    if ( is_array( $post_type ) ) {
    $search_types = $post_type;
    } else {
    $search_types = array( $post_type );
    }
    // Add pages
    $search_types[] = 'page';
    return $search_types;
    }
    add_filter( 'jetpack_relatedposts_filter_post_type', 'jetpack_aggiungo_pagine', 10, 2 );

In realtà c’è molto di più, ma per quelli vi rimando alla pagina ufficiale!

Ciao! Questo è il posto giusto per opinioni, domande, chiacchiere in libertà...