wordpress - 将 woocommerce 产品类型添加到主体类数组

标签 wordpress global woocommerce

我正在尝试将 Woocommerce 产品类型添加到在 header.php 中调用的 Wordpress 正文标签类数组

body_class();

我在 functions.php 中有以下函数,但它没有添加类。如果我删除条件并且只有

$classes[] = 'simple-product';

然后添加类。我认为这与获取全局值(value)的问题有关。我正在调用 $woocommerce、$post 和 $product globals,因为我不确定我真正需要哪个。

//Add Woocommerce body classes
add_filter('body_class','ttm_woocommerce_body_classes');
function ttm_woocommerce_body_classes($classes){
    global $woocommerce, $post, $product;
    if ( $product->product_type == 'simple' ) $classes[] = 'simple-product';
    return $classes;
}

谢谢

最佳答案

您是否尝试过 var_dump($product) 查看该对象中存在什么(如果有的话)?

根据codex ,您可能必须使用 $post->ID 自己填充它,如下所示:

//Add Woocommerce body classes
add_filter('body_class','ttm_woocommerce_body_classes');
function ttm_woocommerce_body_classes($classes){
    global $post;
    $product = get_product( $post->ID );
    if ( $product->product_type == 'simple' ) $classes[] = 'simple-product';
    return $classes;
}

关于wordpress - 将 woocommerce 产品类型添加到主体类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105195/

相关文章:

wordpress - Woocommerce API 限制和使用更少的资源

C 全局共享变量与外部变量

php - 获取 Woocommerce 订单接收页面中的订单 ID 作为简码

php - 在我的 WooCommerce 相关产品小部件中排除特定类别

php - Uncaught Error : Call to a member function is_empty() on null - add to cart text change - wordpress/woocommerce

mysql - AWS Web 服务上的 Wordpress 多服务器

php - 使用polylang时如何确定wordpress页面的当前语言?

angularjs - Controller 未收到 $broadcast 事件

javascript - 某些 Javascript 在单个页面上工作,但在通过 Drupal 主题的 javascript 全局加载时不起作用

php - 在 Woocommerce 中为送货区添加州而不是邮政编码