Come aggiungere una pagina al pangrattato Yoast


9

Sto usando Yoasts Wordpress SEO e ho impostato il mio pangrattato. Il problema è che l'impostazione della mia pagina è la seguente.

/
/about
/blog - On this page I query the posts and display them. The posts themselves have nothing before them in the URL.

Il pangrattato mostra come segue.

Home / Category / Page Title

Voglio che mostri in questo modo.

Home/ Blog / Category / Page Title

È possibile?

Risposte:


27

Ecco il principio generale di ciò che devi fare:

  1. Collegati ai filtri APIwpseo_breadcrumb_links o .wp_seo_get_bc_ancestors
  2. Aggiungi il tuo blog$links all'array SEO di WordPress Breadcrumb , usando array_splice.

Metti questo nei temi functions.php:

/**
 * Conditionally Override Yoast SEO Breadcrumb Trail
 * 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: potrebbe essere necessario aggiornare il codice specifico per il tuo sito o esigenze, ma l'idea generale rimane la stessa.


Funzionava perfettamente, dopo aver cambiato i miei condizionali, i valori di url e di testo in base alle mie esigenze. Grazie.
crdunst,

Strano. Questo codice ha sostituito "Categoria" con "Blog" anziché aggiungerlo prima.
Michael Rogers,

RISOLTO: nel mio caso era necessario "2, -3" invece di "1, -2", non so perché, ma funziona in questo modo.
Michael Rogers,

@rjb grazie, codice molto utile! Sai come aggiungere una pagina alla traccia invece di rimuoverne una?
Cray
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.