在Woocommerce中为产品类别归档页面添加正文类

时间:2018-09-04 09:38:29

标签: php wordpress woocommerce custom-taxonomy hook-wordpress

我想在产品类别归档页面的主体类中添加产品类别块。

以下是我想要的示例(产品类别页面示例的网址)
https://example.com/product-category/canon/…所以我想在身体课上使用“佳能”

4 个答案:

答案 0 :(得分:2)

您的示例链接似乎无效;但是,WooCommerce应该已经在您的类别页面中添加了特定于术语的类:类似于archive tax-product_cat term-{slug} term-{id}的产品类别页面。以您的示例链接为例,并假设术语ID为7(例如),主体类将包括:

tax-product_cat term-7 term-canon

因此,如果您需要通过CSS / jQuery /其他方式访问它,则可以使用选择器body.term-canon

答案 1 :(得分:0)

您可以在body类中使用page slug,请参见此代码

function add_slug_body_class( $classes ) {
global $post;
if ( isset( $post ) ) {
$classes[] = $post->post_type . '-' . $post->post_name;
}
return $classes;
}
add_filter( 'body_class', 'add_slug_body_class' );

答案 2 :(得分:0)

为此,您需要在激活的主题中的functions.php文件中添加以下代码。

add_filter( 'body_class', 'product_cats_css_body_class' );

function product_cats_css_body_class( $classes ){
  if( is_archive( 'product-cat' ) )
  {
    $custom_terms = get_the_terms(0, 'product_cat');
    if ($custom_terms) {
      foreach ($custom_terms as $custom_term) {
        $classes[] = $custom_term->slug;
      }
    }
  }
  return $classes;
}

这将在实体类的最后添加类别子弹。

答案 3 :(得分:0)

即使Woocommerce 将产品类别术语塞为term-canon 作为正文类别,也可以使用专用的WordPress 轻松地仅添加canon body_class动作挂钩,通过Woocommerce is_product_category()条件函数和WordPress get_queried_object()通过以下方式实现:

add_filter( 'body_class', 'product_category_slug_to_body_class', 99, 1 );
function product_category_slug_to_body_class( $classes ){
    if( is_product_category() ){
        $classes[] = get_queried_object()->slug;
    }
    return $classes;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。