私はYoasts Wordpress SEOを使用しています、そして私は私のブレッドクラムを設定しました。問題は、私のページ設定が次のようになっていることです。
/
/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
これは可能ですか?
これがあなたがする必要があることの一般的な原則です:
wpseo_breadcrumb_links
またはwp_seo_get_bc_ancestors
APIフィルターにフックします 。$links
を使用して、WordPress SEO Breadcrumb array_splice
配列に Blog を追加します。これをあなたのテーマの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;
}
注:サイトやニーズに合わせてコードを更新する必要があるかもしれませんが、一般的な考え方は変わりません。