首页 > 解决方案 > 电子商务 | 在单个品牌页面上显示文字

问题描述

我想在 Woocommerce 的单个品牌页面上显示文本。我在我的functions.php上写了这个片段,但它似乎不起作用:

function woo_brand_page_check() {

  $brands = wp_get_post_terms( $post->ID, ‘product_brand’, array("fields" => "all") );

    if (is_tax( 'product_brand' )) {
      foreach( $brands as $brand ) {
        if($brand == 'BRAND_NAME') {
          echo 'Custom text ';
        }
      }
    } else {
        echo '';
    }

}
add_action('woocommerce_before_shop_loop', 'woo_brand_page_check');

如果您对如何实现此功能有任何建议,请给我留言!

提前致谢!

标签: phpwordpresswoocommerce

解决方案


如果您的品牌是产品属性,则分类应自动以“pa_”为前缀,因此您应使用 pa_product_brand。

仔细检查 product_brand 是否有一个破折号代替下划线(通常会发生),所以它会变成 pa_product-brand

此外,您可以在 is_tax() 中解析该术语,而不是循环所有术语,例如:

function woo_brand_page_check() {

  if ( is_tax( 'pa_product_brand', 'BRAND_NAME' ) ) {
    echo 'Custom text ';
  }

}
add_action('woocommerce_before_shop_loop', 'woo_brand_page_check');

请参阅:https ://codex.wordpress.org/Function_Reference/is_tax

干杯;)


推荐阅读