Cómo agregar una página a las migas de pan Yoast

9

Estoy usando Yoasts Wordpress SEO y he configurado mis migas de pan. El problema es que la configuración de mi página es la siguiente.

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

La ruta de exploración se muestra a continuación.

Home / Category / Page Title

Quiero que se muestre así.

Home/ Blog / Category / Page Title

es posible?

Lucky Luke
fuente

Respuestas:

27

Aquí está el principio general de lo que debe hacer:

  1. Enganche a los filtroswpseo_breadcrumb_links o wp_seo_get_bc_ancestors API .
  2. Agregue su Blog en la $linksmatriz de WordPress SEO Breadcrumb , usando array_splice.

Coloque esto en su 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: Es posible que deba actualizar el código específico de su sitio o necesidades, pero la idea general sigue siendo la misma.

rjb
fuente
Esto funcionó perfectamente, después de cambiar mis valores condicionales, url y texto para satisfacer mis necesidades. Gracias.
Crdunst
Extraño. Este código reemplazó 'Categoría' con 'Blog' en lugar de agregarlo antes.
Michael Rogers el
CORREGIDO: en mi caso necesitaba "2, -3" en lugar de "1, -2", no estoy seguro de por qué, pero funciona de esa manera.
Michael Rogers el
@rjb gracias, código muy útil! ¿Sabes cómo agregar una página a la ruta en lugar de eliminar una?
Cray