我尝试使用以下代码删除WooCommerce Breadcrumbs:
add_action( 'init', 'remove_wc_breadcrumbs' );
function remove_wc_breadcrumbs() {
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}
......哪个有效。
之后我激活了Yoast Seo Plugin Breadcrumbs,将此代码放入我的主题header.php
<?php if ( function_exists('yoast_breadcrumb') ) {
yoast_breadcrumb('<p id="breadcrumbs">','</p>');
} ?>
......这也有效。
当我导航到我在WooCommerce设置中定义的“shop-site”时,会出现问题。完整的面包屑看起来像这样
Home > Product
注意:WordPress中“商店网站”的网页名称是“测试”(不是“产品”)。
我想在不同的东西中覆盖“产品”。我试图通过在wordpress“shop-site”页面的高级Yoast设置中定义自定义面包屑标题来覆盖它,但它似乎不起作用。如果页面未在WooCommerce设置中定义为“shop-site”,则覆盖有效。所以我猜一些函数会覆盖Yoast Breadcrumb覆盖,但我无法弄清楚这个函数是做什么的。
导航到单个产品时会出现同样的问题。面包屑看起来像这样
Home > Product > Product Name
我想再次将“产品”(这里只有第二个面包屑)重命名为不同的东西。
有人可以解决这种神秘主义吗?
答案 0 :(得分:2)
我用这段代码修复了它:
add_filter( 'wpseo_breadcrumb_output', 'custom_wpseo_breadcrumb_output' );
function custom_wpseo_breadcrumb_output( $output ){
if( is_product() ){
$from = 'rel="v:url" property="v:title">Product</a>';
$to = 'rel="v:url" property="v:title">New Title</a>';
$output = str_replace( $from, $to, $output );
}
elseif ( is_shop() ) {
$from = '<span class="breadcrumb_last">Products</span>';
$to = '<span class="breadcrumb_last">New Title</span>';
$output = str_replace( $from, $to, $output );
}
return $output;
}
答案 1 :(得分:0)
我想知道是否没有更简单的方法将第一个“产品”更改为“产品类别”…………
您是否已在wp-admin中尝试过
product > category
)。