Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取可变产品的总数量_Php_Woocommerce - Fatal编程技术网

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服务器上使用。如果这解决了您的问题,您能接受这个作为答案吗?