在圈外获取Woocommerce产品变体
我试图列出woocommerce模板之外的各种变体的产品变体和价格。 任何人都可以建议我如何访问该信息?在圈外获取Woocommerce产品变体
我试图做这样的事情:
$tickets = new WC_Product($product_id);
$variables = $tickets->get_available_variations();
但是,这并不工作,因为它是循环之外,则返回错误。
Idealy我想获得像阵列中的所有变化:
$vars = array(
array('name' => 'My var name', 'price' => '123'),
array('name' => 'My var name', 'price' => '123'),
);
也许即使这可以在“save_post”来完成每一个产品创造新的post_meta并保存此以备将来使用,这将然后可以得到像:
$meta = get_post_meta($product_id, '_my_variations');
任何建议是值得欢迎的。
此使用产品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>";
要获得外循环变型产品,你需要创建WC_Product_Variable类的新实例,最简单的办法,这里是一个例如:
$tickets = new WC_Product_Variable($product_id);
$variables = $tickets->get_available_variations();
通过这种方式,您将拥有所有$ variables数组变量所需的信息。
我试过这个,并得到错误...是否有更多的代码,例如必要的全球化变量? – byronyasgur 2015-03-22 00:02:00
你收到什么错误?无需额外的代码或全球化变量,它在我身边运行良好。 – Rado 2015-06-04 22:13:08
这不起作用。 '无法加载资源:net :: ERR_INCOMPLETE_CHUNKED_ENCODING' – 2017-04-19 08:24:41
感谢您的回复,但这并没有给我所需的数据。 我找到了解决方法,我创建了一个新的循环 – Bobz 2014-09-12 19:57:11
@Bobz如果您真的发布了解决此问题的解决方案,对其他用户会有所帮助。 – indextwo 2015-01-08 19:52:29
@indextwo如上所述'我创建了一个新循环'。 你也可以查看这个插件:http://www.eggplantstudios.ca/woocommerce-product-variation-add-cart-grid/ – Bobz 2015-01-09 20:04:59