Cómo agregar una página a las migas de pan de Yoast
Estoy usando Yoast SEO para WordPress y he configurado mis migas de pan. El problema es que mi estructura de páginas es la siguiente.
/
/about
/blog - En esta página consulto las entradas y las muestro. Las entradas en sí no tienen nada antes de ellas en la URL.
La miga de pan se muestra de la siguiente manera.
Inicio / Categoría / Título de la Página
Quiero que se muestre así.
Inicio / Blog / Categoría / Título de la Página
¿Es esto posible?

Aquí está el principio general de lo que necesitas hacer:
- Conéctate a los filtros de API
wpseo_breadcrumb_links
owp_seo_get_bc_ancestors
. - Agrega tu Blog al array
$links
de las migas de pan de WordPress SEO, usandoarray_splice
.
Coloca esto en el archivo functions.php
de tu tema:
/**
* Sobrescribir condicionalmente las migas de pan de Yoast SEO
* 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 necesites actualizar el código específicamente para tu sitio o necesidades, pero la idea general sigue siendo la misma.

Funcionó perfectamente después de modificar mis condicionales, URL y valores de texto para adaptarlos a mis necesidades. Gracias.

Extraño. Este código reemplazó 'Category' por 'Blog' en lugar de agregarlo antes.

SOLUCIONADO: en mi caso necesitaba "2, -3" en lugar de "1, -2", no estoy seguro por qué pero así funciona.
