得到所有"库存" WooCommerce中的产品

时间:2017-12-13 11:04:51

标签: php sql wordpress woocommerce product

我有一个网站,产品被视为贸易/交易。因此,当有人进行交易(购买产品)时,它就会缺货。

显示当前可用产品剩余数量的PHP代码段(基本上有库存)是什么?

前:快点!只有10种交易(woocommerce - >产品)!

提前致谢!

我尝试了提供的代码:

function fp2() {
    global $wpdb; 

    $stock = get_post_meta( $post->ID, '_stock', true ); 

    echo '<span style="color:#fff;text-align:center;font-size:12px">Remaining Trade:' . $stock;
}
add_shortcode('fp7', 'fp2');

1 个答案:

答案 0 :(得分:2)

这是一个带有SQL查询的自定义函数,它将返回产品&#34; instock&#34;数:

function get_instock_products_count(){
    global $wpdb;

    // The SQL query
    $result = $wpdb->get_col( "
        SELECT COUNT(p.ID)
        FROM {$wpdb->prefix}posts as p
        INNER JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
        WHERE p.post_type LIKE '%product%'
        AND p.post_status LIKE 'publish'
        AND pm.meta_key LIKE '_stock_status'
        AND pm.meta_value LIKE 'instock'
    " );

    return reset($result);
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试和工作

使用示例 (在任何php文件中)

$count = get_instock_products_count();
$message = sprintf( __( 'Hurry Up! Only %s remaining trades' ), $count );
echo '<div class="woocommerce-message">'.$message.'</div>';

将显示如下内容:

enter image description here