Як додати сторінку до панірувальних сухарів Yoast


9

Я використовую SEO Yoasts Wordpress і створив свої сухарі. Проблема полягає в тому, що налаштування моєї сторінки відбувається наступним чином.

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

Сухарі показують наступним чином.

Home / Category / Page Title

Я хочу, щоб це показало так.

Home/ Blog / Category / Page Title

Чи можливо це?

Відповіді:


27

Ось загальний принцип того, що вам потрібно зробити:

  1. Зачепити у фільтриwpseo_breadcrumb_links або wp_seo_get_bc_ancestors API .
  2. Додайте свій блог у $linksмасив WordPress SEO Breadcrumb , використовуючи array_splice.

Розмістіть це у темі 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;
}

Примітка. Можливо, вам потрібно буде оновити код, специфічний для вашого веб-сайту або потреб, але загальна ідея залишається такою ж.


Це спрацювало чудово, змінивши мої умовні, URL та текстові значення відповідно до моїх потреб. Дякую.
crdunst

Дивно. Цей код замінив "Категорію" на "Блог", а не додавати її раніше.
Майкл Роджерс

ФІКСИРОВАНО: в моєму випадку йому знадобилося "2, -3" замість "1, -2", не знаю чому, але це працює так.
Майкл Роджерс

@ rjb дякую, дуже корисний код! Чи знаєте ви, як додати сторінку в слід замість видалення?
Cray
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.