在WooCommerce中获取简单产品的产品属性

时间:2019-04-12 作者:Lerry

我需要从WooCommerce中的product中获取产品属性,键入product Simple product,有些产品可以作为下拉菜单,但有许多选项可以作为单选按钮。

我怎样才能做到这一点?怎么可能呢?

对于变化我没有问题,但简单地说,我无法获得它们。

2 个回复
最合适的回答,由SO网友:Nathan 整理而成

基于Loic对属性的回答pa_manufacturer:

if ( get_post_type( $post ) === \'product\' && ! is_a($product, \'WC_Product\') ) {
    $product = wc_get_product( get_the_id() ); // Get the WC_Product Object
}

$product_attributes = $product->get_attributes(); // Get the product attributes

// Output
$manufacturer_id = $product_attributes[\'pa_manufacturer\'][\'options\'][\'0\']; // returns the ID of the term
$manufacturer_name = get_term( $manufacturer_id )->name; // gets the term name of the term from the ID
echo \'<p class="manufacturer">\'.$manufacturer_name.\'</p>\'; // display the actual term name

SO网友:LoicTheAztec

您将使用WC_Product 方法get_attributes() 返回如下数组:

global $product;

if ( get_post_type( $post ) === \'product\' && ! is_a($product, \'WC_Product\') ) {
    $product = wc_get_product( get_the_id() ); // Get the WC_Product Object
}

$product_attributes = $product->get_attributes(); // Get the product attributes

// Raw output
echo \'<pre>\'; print_r( $product_attributes ); echo \'</pre>\';
它应该可以工作(对于真实的产品属性)。

现在,如果您使用一些第三方插件,例如产品附加组件,它们会向产品添加一些自定义字段,但它们不是产品属性…

相关推荐

如何在PHP标记内使用带有do_Action函数的参数

我正在使用一个WordPress插件,它允许集成操作将其集成到一个主题中。使用GeneratePress的元素特性,我将动作添加为挂钩。目前我使用的代码是:<?php do_action(webcomic_integrate_landing_page); ?> 操作本身有一些布尔参数列在this website. 我最感兴趣的是webcomic_meta.如何将webcomic\\u元参数(设置为false)合并到PHP标记中以运行此操作?