在我的店面wordpress中,我正在使用woocommerce产品标签以另一种方式显示我的产品。 在标签存档页面上,面包屑说
主页> 产品标签 "示例标签" 或者更确切地说 Startseite> Produkte verschlagwortet mit "示例标签",因为我有一个德语网站。
-> 我想摆脱"产品标记"("Produkte verschlagwortet mit"(,并将示例标签(不带引号(仅显示在面包屑中:
主页> 示例标签(>示例标签(
我发现很多关于如何自定义面包屑的东西,但没有地方如何摆脱这个特定问题。
有什么想法吗?
我知道已经有一段时间了,但它可能会帮助其他人。 我想出了这个:
/**
* Remove "Products tagged" from product tags breadcrumbs
*/
add_filter('woocommerce_get_breadcrumb', 'woocommerce_breadcrumbs_remove_text', 10);
function woocommerce_breadcrumbs_remove_text($crumbs) {
// Check if we are in a product tag archive page
if (is_product_tag()) {
// Point to the last element of the breadcrumbs array, specifically the breadcrumb we are going to edit
end($crumbs);
// Get the text to edit (array key number 0)
$last = $crumbs[key($crumbs)][0];
// Perform a regular expression to keep only what's between quotes (“ and ”)
$replace = preg_replace('/[sS]+“([sS]+)”/', '$1', $last);
// Register the new text to the breadcrumb array
$crumbs[key($crumbs)][0] = $replace;
// Reset the array pointer
reset($crumbs);
}
// Return the filtered breadcrumbs array
return $crumbs;
}
这是使用woocommerce_get_breadcrumb
钩子的过滤器。您应该将此代码放入主题的函数.php文件中。
未经测试,但请尝试以下操作:
// Customize text strings
function my_gettext( $translation, $text, $domain ) {
switch ( $translation ) {
case 'Products tagged “%s”' :
$translation = __( '%s', 'woocommerce' );
break;
}
return $translation;
}
add_filter( 'gettext', 'my_gettext', 20, 3 );
如果您使用的是主题大道主题,请改为执行以下操作:
// Customize "Products tagged" in breadcrumbs
function my_locals( $locals ) {
$locals['crumb_tag_products'] = '%s';
return $locals;
}
add_filter('themeblvd_frontend_locals', 'my_locals');
您可以从检查元素中选择该项,并为其编写自定义 CSS 并将其设置为display: none;
此代码适用于删除 标记为英文文本的产品 面包屑 :
// Customize text strings
function my_gettext( $translation, $text, $domain ) {
switch ( $translation ) {
case 'Products tagged “%s”' :
$translation = __( '%s', 'woocommerce' );
break;
}
return $translation;
}
add_filter( 'gettext', 'my_gettext', 20, 3 );
但是您可以尝试使用法语或英语以外的其他语言:
///// Woocommerce : Remove "Products tagged" from product tags breadcrumbs FR
function my_gettext( $translation, $text, $domain ) {
if ( strpos( $text, 'Products tagged' ) !== false ) {
$translation = '%s';
}
return $translation;
}
add_filter( 'gettext', 'my_gettext', 100, 3 );