gpt4 book ai didi

php - WooCommerce - 获取自定义产品属性

转载 作者:可可西里 更新时间:2023-11-01 13:52:31 26 4
gpt4 key购买 nike

我正在尝试在 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' ) ) );

引用:How to get a products custom attributes from WooCommerce

关于php - WooCommerce - 获取自定义产品属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com