回答
添加到您的功能.php
add_filter('body_class', 'wc_cat_names');
function wc_cat_names($classes) {
if(is_product()){
global $post;
$terms = get_the_terms($post->ID, 'product_cat');
foreach ($terms as $term) {
$classes[] = $term->slug;
}
}
return $classes;
}
这个只会在woocommerce产品页面上工作,而且我在我的测试网站上测试过。
目前正是这种做对WordPress的支持网站一个很好的指南:Modify body_class() output to show category-{slug} for single posts
我已经改变了代码的帖子,以满足您的需求:
add_filter('body_class','add_category_to_single');
function add_category_to_single($classes, $class) {
if (is_single()) {
global $post;
foreach((get_the_category($post->ID)) as $category) {
echo $category->cat_name . ' ';
// add category slug to the $classes array
$classes[] = $category->slug;
}
}
// return the $classes array
return $classes;
}
老实说,不,在回答的时候。我在之前的项目中使用了它的修改版本,这就是为什么我记得这个帖子的原因。 – emilchristensen
但根据[WordPress的Codex:body_class](https://codex.wordpress.org/Function_Reference/body_class)它应该仍然是一个有效的钩子。 – emilchristensen
这给了我一个PHP错误,并将body_class添加到另一个div。错误:'警告:add_category_to_single缺少参数2(' –
- 1. Woocommerce - 整个类别的相关产品
- 2. 仅在WooCommerce中列出与当前产品相关的产品类别
- 3. 如何将类别和子类别添加到woocommerce产品?
- 4. 从woocommerce产品类别页面添加自定义主体类
- 5. Woocommerce:只显示来自同一子类别的相关产品
- 6. 在Woocommerce中隐藏宏类别中的子类别产品
- 7. Wordpress Woocommerce根据类别分类产品
- 8. 产品添加类如果$ 0 - $ 10,000 woocommerce
- 9. 按照产品类别在WooCommerce的简码中获取产品
- 10. 在Woocommerce中,通过文本或类别筛选某些相关产品
- 11. 在WooCommerce上添加任何类别时产品消失
- 12. 无法将新产品类别添加到woocommerce中?
- 13. WordPress的WooCommerce显示个别产品的嵌套产品类别
- 14. Woocommerce在与属性匹配的类别中列出产品
- 15. woocommerce类别产品的默认图像
- 16. woocommerce - 改变产品的HTML类别
- 17. WooCommerce - 获取产品页面的类别
- 18. 在WooCommerce中将产品属性的术语名称添加到正文类
- 19. “产品类别”是否与“产品”具有识别关系?
- 20. 将产品字段添加到Cartridge中的产品类别?
- 21. WordPress WooCommerce在每个产品按钮上显示产品类别
- 22. WooCommerce-如何从网站中删除产品和产品类别?
- 23. WooCommerce产品类别自定义图像
- 24. WOOCOMMERCE产品类别悬停效果
- 25. WooCommerce 3.x - 隐藏产品类别
- 26. Woocommerce产品按类别上市
- 27. WooCommerce:使用产品类别shortcode
- 28. woocommerce后端下拉式产品类别
- 29. 相关产品只按类别显示,而不显示WooCommerce中的标签3
- 30. woocommerce仅搜索基于主体类别的父类别产品
嗨,请在发布之前阅读本文:http://stackoverflow.com/help/how-to-ask并阅读所有文章提供的stackoverflow提供的好问题:http://stackoverflow.com/help –