问题描述
我正在使用 Yoast 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 filters 。 -
将您的博客添加到 WordPress SEO 面包屑
$links
阵列中,使用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;
}
注意:您可能需要更新特定于您网站或需求的代码,但总体思路保持不变。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。