【发布时间】:2016-10-07 22:07:03
【问题描述】:
我的公司一直在为 WordPress / Genesis 构建开发我们自己的子主题,我们将其用作所有客户的标准。对于 SEO,我们有时会有较长的页面标题,在面包屑中看起来不太好。即“某城的砖头服务”。它最终看起来像这样:
Home / Brick Services In Sometown / Acme Bricks
我们想要做的是能够在页面/帖子编辑器上有一个字段,允许我们为面包屑输入自定义文本,所以它看起来像:
Home / Services / Acme Bricks
我知道如何将适当的元框添加到后端并将输入的信息添加到帖子/页面元中,但我看到使用面包屑的这些额外数据完成的唯一方法是编辑 Genesis 核心主题文件,我不想这样做。我想在子主题中完成此操作,因此更新并不麻烦。
如果我要编辑 Genesis 核心 breadcrumb.php 文件,我会执行以下操作:
$ub_breadcrumb = esc_html( get_post_meta( $post->ID, '_ub_breadcrumb', TRUE ) );
if ( !empty( $ub_breadcrumb )) {
//* Add the custom page title for breadcrumbs if value is set
$crumbs[] = $ub_breadcrumb;
} else {
//* Add the current page title
$crumbs[] = get_the_title( $post->ID );
}
这是来自第 363 行的 genesis/lib/classes/breadcrumb.php 核心文件。我也会对上面部分中当前页面/帖子的祖先做类似的事情。
还有其他方法可以在不编辑核心主题文件的情况下完成此操作吗?我们试图将这一切都保留在子主题中,因此它是更新证明(无论如何都可以)。
谢谢。这对 Google 来说是一件奇怪的事情,所以除了 Genesis 中的内置面包屑过滤器外,我没有找到任何东西,但这些过滤器不包括帖子/页面标题。
【问题讨论】:
-
详细解决方法可以看这个帖子etutorialz.com/build-custom-breadcrumb-in-wordpress