Come aggiungere una pagina al breadcrumb di Yoast

20 mag 2013, 00:28:56
Visualizzazioni: 24.7K
Voti: 12

Sto utilizzando Yoast SEO per WordPress e ho configurato i miei breadcrumb. Il problema è che la mia struttura delle pagine è la seguente.

/
/about
/blog - In questa pagina faccio una query dei post e li visualizzo. I post stessi non hanno nulla prima di loro nell'URL.

Il breadcrumb si mostra così.

Home / Categoria / Titolo Pagina

Vorrei che si mostrasse in questo modo.

Home / Blog / Categoria / Titolo Pagina

È possibile?

0
Tutte le risposte alla domanda 1
4
35

Ecco il principio generale di ciò che devi fare:

  1. Agganciati ai filtri API wpseo_breadcrumb_links o wp_seo_get_bc_ancestors API filters.
  2. Aggiungi il tuo Blog nell'array $links del Breadcrumb di WordPress SEO, utilizzando array_splice.

Inserisci questo nel file functions.php del tuo tema:

/**
 * Sovrascrittura condizionale del percorso di breadcrumb di Yoast SEO
 * http://plugins.svn.wordpress.org/wordpress-seo/trunk/frontend/class-breadcrumbs.php
 * -----------------------------------------------------------------------------------
 */

add_filter( 'wpseo_breadcrumb_links', 'wpse_100012_override_yoast_breadcrumb_trail' );

function wpse_100012_override_yoast_breadcrumb_trail( $links ) {
    global $post;

    if ( is_home() || is_singular( 'post' ) || is_archive() ) {
        $breadcrumb[] = array(
            'url' => get_permalink( get_option( 'page_for_posts' ) ),
            'text' => 'Blog',
        );

        array_splice( $links, 1, -2, $breadcrumb );
    }

    return $links;
}

Nota: Potresti dover aggiornare il codice in base al tuo sito o alle tue esigenze, ma l'idea generale rimane la stessa.

7 nov 2013 22:52:30
Commenti

Ha funzionato perfettamente, dopo aver modificato i miei condizionali, URL e valori di testo per adattarli alle mie esigenze. Grazie.

crdunst crdunst
1 ott 2014 13:24:00

Strano. Questo codice ha sostituito 'Categoria' con 'Blog' invece di aggiungerlo prima.

Michael Rogers Michael Rogers
4 nov 2017 15:29:46

RISOLTO: nel mio caso serviva "2, -3" invece di "1, -2" non so perché ma funziona così.

Michael Rogers Michael Rogers
4 nov 2017 15:31:34

@rjb grazie, codice molto utile! Sai come aggiungere una pagina al percorso invece di rimuoverne una?

Cray Cray
29 feb 2020 18:38:24