【发布时间】:2014-07-19 00:46:26
【问题描述】:
所以 Yoast SEO 插件在 Wordpress 中提供了一些方便的东西,其中之一是 Breadcrumb 功能,但是标记输出在跨度标签内(我为 URL 添加了 # - 别担心)...
<span xmlns:v="http://rdf.data-vocabulary.org/#">
<span typeof="v:Breadcrumb">
<a property="v:title" rel="v:url" href="#">Home</a>
</span>
<span typeof="v:Breadcrumb">
<a property="v:title" rel="v:url" href="#">Our Services</a>
</span>
<span typeof="v:Breadcrumb">
<a property="v:title" rel="v:url" href="#">GP Services</a>
</span>
<span typeof="v:Breadcrumb">
<span property="v:title" class="breadcrumb_last">GP Appointments</span>
</span>
</span>
我想将面包屑作为列表而不是这些跨度输出 - 所以最终我认为我需要在我的 functions.php 文件中添加某种过滤器 - 所以当我更新 Yoast SEO 插件时不会覆盖我的编辑。
在“/plugins/wordpress-seo/frontend/class-breadcrumbs.php”的开头有一些代码,您可以在其中设置元素的包装器。
目前(减去 cmets 和不相关的代码):
if ( ! class_exists( 'WPSEO_Breadcrumbs' ) ) {
class WPSEO_Breadcrumbs {
private $element = 'span';
所以这是我需要用我的主题的 functions.php 文件中的某些内容覆盖的部分。
我正在为如何做到这一点而苦苦挣扎。
这个插件文件中似乎也有一个过滤器:
private function filter_wrapper() {
$wrapper = apply_filters( 'wpseo_breadcrumb_output_wrapper', $this->wrapper );
$wrapper = tag_escape( $wrapper );
if ( is_string( $wrapper ) && '' !== $wrapper ) {
$this->wrapper = $wrapper;
}
}
任何帮助将不胜感激。
【问题讨论】:
标签: wordpress function plugins filter breadcrumbs