Як додати сторінку до панірувальних сухарів 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.