Como adicionar uma página ao breadcrumbs do Yoast

8

Estou usando o Yoasts Wordpress SEO e configurei meu breadcrumbs. O problema é que a configuração da minha 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.

O breadcrumb mostra o seguinte.

Home / Category / Page Title

Eu quero mostrar isso assim.

Home/ Blog / Category / Page Title

Isso é possível?

    
por Lucky Luke 19.05.2013 / 23:28

1 resposta

24

Este é o princípio geral do que você precisa fazer:

  1. Conecte-se aos wpseo_breadcrumb_links ou wp_seo_get_bc_ancestors filtros de API .
  2. Adicione seu Blog à matriz WordPress SEO Breadcrumb $links , usando array_splice .

Coloque isso no functions.php :

do seu tema
/**
 * 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;
}

Observação: talvez seja necessário atualizar o código específico do seu site ou necessidades, mas a ideia geral permanece a mesma.

    
por rjb 07.11.2013 / 21:52