php自定义商品属性,php – WooCommerce – 获取自定义产品属性

我想在woocommerce中获得特定的自定义属性.

我已经在这个网站上阅读了大量的线程,提供了大约3-5种方法.

在尝试了所有之后,对我有用的唯一方法是遍历所有属性 – 所有其他属性都不起作用.

我有一个名为’pdfs’的自定义属性

以下尝试不起作用:(link)

$global product;

$myPdf = array_shift( wc_get_product_terms( $product->id, 'pdfs', array( 'fields' => 'names' ) ) );

$myPdf = $product->get_attribute( 'pdfs' );

$myPdf = get_post_meta($product->id, 'pdfs', true);

这是唯一有效的方法:(link)

$attributes = $product->get_attributes();

foreach ( $attributes as $attribute ) {

if (attribute_label( $attribute[ 'name' ] ) == "pdfs" ) {

echo array_shift( wc_get_product_terms( $product->id, $attribute[ 'name' ] ) );

}

}

我宁愿能够使用第一个选项之一

任何帮助,将不胜感激.

谢谢

解决方法:

Update: Added compatibility for Woocommerce 3+

由于属性总是以数据库中的pa_为前缀,为了使用wc_get_product_terms()函数获取它们,您需要使用pa_pdfs而不是pdfs,这样:

global $product;

$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id; // Added WC 3+ support

$myPdf = array_shift( wc_get_product_terms( $product_id, 'pa_pdfs', array( 'fields' => 'names' ) ) );

标签:wordpress,php,attributes,woocommerce,product

来源: https://codeday.me/bug/20190611/1219262.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值