Php 获取可变产品的总数量
我正试图制作一份产品及其数量的报告。除了可变产品外,所有产品都可以正常工作,我很难获得数量……这就是我目前所拥有的:Php 获取可变产品的总数量,php,woocommerce,Php,Woocommerce,我正试图制作一份产品及其数量的报告。除了可变产品外,所有产品都可以正常工作,我很难获得数量……这就是我目前所拥有的: global $wpdb; $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'nopaging' => 'true', 'orderby' => 'post_title',
global $wpdb;
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'nopaging' => 'true',
'orderby' => 'post_title',
'order' => 'asc'
);
$loop = new WP_Query( $args );
$output = '<div style="float: right;">As of ' . current_time('F d, Y h:ia') . '</div>';
$output .= '<h3>Products Report</h3>';
$output .= '<table border="0"><tbody>';
while ( $loop->have_posts() ) : $loop->the_post();
$product = new WC_Product( $loop->post->ID );
if ($product->product_type == 'variable') {
$product = new WC_Product_Variable( $loop->post->ID );
}
$qty = ($product->get_total_stock() != 0) ? $product->get_total_stock(): 'OUT';
$price = '$'.$product->get_price();
$output .= '<tr><td><em><strong>' . $loop->post->post_title . '</strong></em><br>' . $loop->post->post_content . '</td><td><span class="wc-qty">' . $qty .'</span></td><td>' . $price .'</td></tr>';
endwhile;
$output .= '</tbody></table>';
echo $output;
global$wpdb;
$args=数组(
“post_类型”=>“产品”,
“发布状态”=>“发布”,
“否”=>“正确”,
'orderby'=>'post_title',
“订单”=>“asc”
);
$loop=新的WP_查询($args);
$output='截至'。当前时间('fd,yh:ia');
$output.='产品报告';
$output.='';
而($loop->have_posts()):$loop->the_post();
$product=新的WC\U产品($loop->post->ID);
如果($product->product_type=='variable'){
$product=新的WC\U product\U变量($loop->post->ID);
}
$qty=($product->获取库存总量()!=0)$产品->获取总库存():“缺货”;
$price='$.$product->get_price();
$output.=''$循环->发布->发布标题。”
'$循环->发布->发布内容。“”$数量$价格",;
结束时;
$output.='';
echo$输出;
$product->product\u类型不返回任何内容,为空。如何获取可变产品的变体信息?我认为创建可变产品对象不需要做任何特殊的操作。这应该和其他方法一样有效。我已经将您的一些功能替换为更新的WooCommerce产品方法,我还没有对其进行测试,因此,我无法确定这是否符合您的要求:
while ( $loop->have_posts() ) : $loop->the_post();
$product = wc_get_product( get_the_ID() ) );
$qty = ($product->get_total_stock() > 0) ? $product->get_total_stock(): 'OUT';
$price = $product->get_price_html();
$output .= '<tr><td><em><strong>' . $product->get_title() . '</strong></em><br>' . $loop->post->post_content . '</td><td><span class="wc-qty">' . $qty .'</span></td><td>' . $price .'</td></tr>';
endwhile;
while($loop->have_posts()):$loop->the_post();
$product=wc_get_product(get_the_ID());
$qty=($product->获取库存总量()>0)$产品->获取总库存():“缺货”;
$price=$product->get_price_html();
$output.=''$产品->获取标题()
'$循环->发布->发布内容。“”$数量$价格",;
结束时;
您是否试图显示每个可变产品的所有变化?基本上,是的,显示或提取这些变化的信息。现在我需要提取可变产品的总库存。像我们的t恤一样,我们有5件小的,10件大的,等等。如何得到所有的总和,或者迭代一个循环,然后相加?如果我使用上面的方法,可变产品的数量和价格都是空的。我自己的尝试也遇到了同样的问题。事实上,刮擦,效果很好,谢谢!我在数据库中没有库存的dev服务器上使用。如果这解决了您的问题,您能接受这个作为答案吗?