Как добавить страницу в хлебные крошки Yoast

20 мая 2013 г., 00:28:56
Просмотры: 24.7K
Голосов: 12

Я использую Yoast SEO для WordPress и настроил хлебные крошки. Проблема в том, что структура моих страниц выглядит следующим образом.

/
/about
/blog - На этой странице я делаю запрос постов и отображаю их. Сами посты не имеют префикса в URL.

Хлебные крошки отображаются так:

Главная / Категория / Заголовок страницы

Я хочу, чтобы они отображались так:

Главная / Блог / Категория / Заголовок страницы

Это возможно?

0
Все ответы на вопрос 1
4
35

Вот основной принцип того, что вам нужно сделать:

  1. Подключитесь к API фильтрам wpseo_breadcrumb_links или wp_seo_get_bc_ancestors.
  2. Добавьте ваш Блог в массив $links хлебных крошек WordPress SEO, используя array_splice.

Поместите этот код в файл functions.php вашей темы:

/**
 * Условное переопределение цепочки хлебных крошек 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' => 'Блог',
        );

        array_splice( $links, 1, -2, $breadcrumb );
    }

    return $links;
}

Примечание: Возможно, вам потребуется адаптировать код под специфику вашего сайта или нужды, но общая идея остаётся той же.

7 нояб. 2013 г. 22:52:30
Комментарии

Это сработало идеально после того, как я изменил условия, URL и текстовые значения под свои нужды. Спасибо.

crdunst crdunst
1 окт. 2014 г. 13:24:00

Странно. Этот код заменил 'Category' на 'Blog' вместо того, чтобы добавить перед ним.

Michael Rogers Michael Rogers
4 нояб. 2017 г. 15:29:46

ИСПРАВЛЕНО: в моем случае потребовались значения "2, -3" вместо "1, -2", не знаю почему, но так работает.

Michael Rogers Michael Rogers
4 нояб. 2017 г. 15:31:34

@rjb спасибо, очень полезный код! Не подскажете, как добавить страницу в цепочку, а не удалять её?

Cray Cray
29 февр. 2020 г. 18:38:24