Add the product attribute term name to body class in WooCommerce(将产品属性Term名称添加到WooCommerce中的Body类)
本文介绍了将产品属性Term名称添加到WooCommerce中的Body类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望根据产品的属性(例如颜色)添加Body类,因此如果产品颜色是红色,我希望将类‘red’添加到Body标记中。
我将使用什么挂钩来执行此操作?
推荐答案
可以使用body_class筛选器挂钩中的自定义函数完成此操作:
add_filter( 'body_class', function( $classes ) {
if( ! is_product() ) return $classes;
global $post;
$custom_classes = array();
$product = wc_get_product( $post->ID );
foreach( $product->get_attributes() as $taxonomy => $wc_attribute ){
if( $taxonomy == 'pa_color' )
$custom_classes = $wc_attribute->get_slugs();
return array_merge( $classes, $custom_classes );
} );
代码位于活动子主题(或主题)的函数.php文件或任何插件文件中。
此代码在WooCommerce 3+上进行了测试,可以正常工作。
这篇关于将产品属性Term名称添加到WooCommerce中的Body类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:将产品属性Term名称添加到WooCommerce中的Body类
基础教程推荐
猜你喜欢
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 如何替换eregi() 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
