Bob*_*obz 2 wordpress woocommerce
我试图列出woocommerce模板之外的每个变体的产品变化和价格.任何人都可以建议我如何访问该信息?
我试图做这样的事情:
$tickets = new WC_Product( $product_id);
$variables = $tickets->get_available_variations();
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为它在循环之外,它返回错误.
理想我想得到像阵列一样的所有变化:
$vars = array(
array('name' => 'My var name', 'price' => '123'),
array('name' => 'My var name', 'price' => '123'),
);
Run Code Online (Sandbox Code Playgroud)
也许即使这可以在'save_post'上为每个产品创建新的post_meta并保存以供将来使用,这样就可以得到:
$meta = get_post_meta( $product_id, '_my_variations' );
Run Code Online (Sandbox Code Playgroud)
任何建议都是受欢迎的.
小智 8
要在循环外获得产品变体,您需要创建WC_Product_Variable类的新实例,这是一个示例:
$tickets = new WC_Product_Variable( $product_id);
$variables = $tickets->get_available_variations();
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您将获得$ variables数组中变体的所有必需信息.
小智 5
这是使用产品ID,循环外和woocommerce模板获取产品变量的最简单的解决方案
$args = array(
'post_type' => 'product_variation',
'post_status' => array( 'private', 'publish' ),
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'asc',
'post_parent' => $product_id // $post->ID
);
$variations = get_posts( $args );
echo "<pre>"; print_r($variations); echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15934 次 |
| 最近记录: |