Comment ajouter une page au fil d'Ariane Yoast

9

J'utilise Yoasts Wordpress SEO et j'ai configuré mon fil d'Ariane. Le problème est que ma mise en page est la suivante.

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

Le fil d'Ariane apparaît comme suit.

Home / Category / Page Title

Je veux que ça montre comme ça.

Home/ Blog / Category / Page Title

Est-ce possible?

Lucky Luke
la source

Réponses:

27

Voici le principe général de ce que vous devez faire:

  1. Accrochez-vous aux filtreswpseo_breadcrumb_links ou wp_seo_get_bc_ancestors API .
  2. Ajoutez votre blog dans le $linkstableau WordPress SEO Breadcrumb , à l'aide de array_splice.

Placez ceci dans votre thème 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;
}

Remarque: Vous devrez peut-être mettre à jour le code spécifique à votre site ou à vos besoins, mais l'idée générale reste la même.

rjb
la source
Cela a parfaitement fonctionné, après avoir changé mes valeurs conditionnelles, URL et texte pour répondre à mes besoins. Merci.
crdunst
Bizarre. Ce code a remplacé «Catégorie» par «Blog» au lieu de l'ajouter auparavant.
Michael Rogers
CORRIGÉ: dans mon cas, il fallait "2, -3" au lieu de "1, -2", je ne sais pas pourquoi, mais cela fonctionne de cette façon.
Michael Rogers
@rjb merci, code très utile! Savez-vous comment ajouter une page à la piste au lieu d'en supprimer une?
Cray