Como adicionar uma página às trilhas de navegação do Yoast

9

Estou usando o Yoasts Wordpress SEO e configurei minhas migalhas de pão. O problema é que minha configuração de página é a seguinte.

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

A trilha de navegação mostra como a seguir.

Home / Category / Page Title

Eu quero que ele mostre assim.

Home/ Blog / Category / Page Title

Isso é possível?

Lucky Luke
fonte

Respostas:

27

Aqui está o princípio geral do que você precisa fazer:

  1. Conecte-se aos filtroswpseo_breadcrumb_links ou wp_seo_get_bc_ancestors API .
  2. Adicione seu Blog à $linksmatriz de navegação em barra de SEO do WordPress , usando array_splice.

Coloque isso no tema 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: pode ser necessário atualizar o código específico para o seu site ou necessidades, mas a ideia geral permanece a mesma.

rjb
fonte
Isso funcionou perfeitamente, depois de alterar meus valores condicionais, de URL e de texto para atender às minhas necessidades. Obrigado.
Crdunst
Esquisito. Este código substituiu 'Categoria' por 'Blog' em vez de adicioná-lo antes.
Michael Rogers
CORRIGIDO: no meu caso, precisava de "2, -3" em vez de "1, -2", sem saber por que, mas funciona dessa maneira.
Michael Rogers
@ rjb obrigado, código muito útil! Você sabe como adicionar uma página à trilha em vez de remover uma?
Cray