从 WooCommerce 标签存档面包屑中删除"Products tagged"



在我的店面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 );

相关内容

  • 没有找到相关文章

最新更新