php 从Woocommerce标签归档面包屑中删除“带标签的产品”

oug3syen  于 2023-03-07  发布在  PHP
关注(0)|答案(4)|浏览(129)

在我的Storefront WordPress中,我使用woocommerce产品标签以另一种方式显示我的产品。在标签存档页面上,面包屑显示
家〉产品标记为"Example Tag"或更确切地说Startseite〉产品标记为"Example Tag",因为我有一个德语网站。

  • 〉我想去掉"标记的产品"("Produkte verschlagwortet mit"),只在面包屑中显示示例标记(不带引号):
    主页〉示例标签(开始页面〉示例标签)
    我发现了很多东西如何自定义面包屑一般,但无处如何红色摆脱这个具体的问题。
    有什么想法吗?
prdp8dxp

prdp8dxp1#

我知道已经有一段时间了,但这可能会帮助别人。我想到了这个:

/**
 * 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('/[\s\S]+\“([\s\S]+)\”/', '$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钩子的过滤器。你应该把这段代码放到你主题的functions.php文件中。

lrpiutwd

lrpiutwd2#

未经测试,但试试这个:

// 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 );

如果您使用的是ThemeBlvd主题,请执行以下操作:

// Customize "Products tagged" in breadcrumbs
function my_locals( $locals ) {
    $locals['crumb_tag_products'] = '%s';
    return $locals;
}
add_filter('themeblvd_frontend_locals', 'my_locals');
rqqzpn5f

rqqzpn5f3#

您可以从Inspect Element中选择该项,并为其编写自定义CSS,然后将其设置为display: none;

ux6nzvsh

ux6nzvsh4#

此代码用于删除标记为英语文本的产品Breadcrumb:

// 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 );

相关问题