WooCommerce在结账页面上显示产品类别

时间:2014-08-12 作者:Fellow WP

我正在尝试在签出页面上获取产品类别,以便为特定类别的发货显示特殊消息。为此,我在上创建了操作筛选器woocommerce_available_shipping_methods 在主题函数中。php

这是我在这里获取类别的代码-

global $post;
$args = array( \'taxonomy\' => \'product_cat\',);
$terms = wp_get_post_terms($post->ID,\'product_cat\', $args);
print_r($terms);
但它并没有在结账页面上给出分类。唯一的产品ID是我在这里得到的一件事。

请帮忙。

谢谢是预付款

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

问题是您的代码,尤其是

global $post;
然后

$post->ID
part正在获取$post_id 您所在页面的$post global variable, 不是您购物车中的产品,这将是您正在寻找的。

除此之外$args 的参数wp_get_post_terms 没有参数taxonomy, 此外,您已经定义了taxonomy 作为函数调用的第二个参数。

免责声明:

  • 我之所以回答这个问题,是因为手头的问题与第三方插件无关,关于这些问题通常是off topic, 但要了解WordPress的工作原理

    global $woocommerce;
    $cart = $woocommerce->cart->get_cart();
    $cart_items_ids = array();
    foreach ( $cart as $item_key => $item_value ) {
        $cart_items_ids[] = $item_value[ \'data\' ]->id;
    }
    

结束

相关推荐

从WP_LIST_CATEGORIES中删除‘Category’一词

我有以下代码:wp_list_categories();它输出我的所有类别,但是,它使它们成为列表元素的子元素,称为CATEGORIES.所以,我得到了一个无序的列表,如下所示:CATEGORIES * FASHION * DAILY FASHION CANDY * TRENDS * BEAUTY * ACCESSORIES * CELEBRITIES * LIFESTYLE 但是,我只需要:* FASHION * DAILY FA