Php 获取所有“的计数”;库存;商业产品

Php 获取所有“的计数”;库存;商业产品,php,sql,wordpress,woocommerce,product,Php,Sql,Wordpress,Woocommerce,Product,我有一个网站,产品被视为贸易/交易。因此,当有人进行交易(购买产品)时,它就会缺货 PHP代码段将显示当前可用产品的剩余数量(基本上是库存) 快点!只有10个交易(woocommerce->products)可用 提前谢谢 我尝试了提供的代码: function fp2() { global $wpdb; $stock = get_post_meta( $post->ID, '_stock', true ); echo '<span style="co

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

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

快点!只有10个交易(woocommerce->products)可用

提前谢谢

我尝试了提供的代码:

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');
函数fp2(){
全球$wpdb;
$stock=get_post_meta($post->ID,'u stock',true);
echo“剩余交易:”.$stock;
}
添加_短代码(“fp7”、“fp2”);
更新(2021年)

下面是一个带有SQL查询的自定义函数,该查询将返回产品“instock”计数:

代码位于活动子主题(或主题)的function.php文件或任何插件文件中

测试和工作


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

$count=get_instock_products_count();
$message=sprintf(uuuuu(‘快点!只剩下%s笔交易’),$count);
回显“.$message.”;
将显示如下内容:

更新(2021年)

下面是一个带有SQL查询的自定义函数,该查询将返回产品“instock”计数:

代码位于活动子主题(或主题)的function.php文件或任何插件文件中

测试和工作


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

$count=get_instock_products_count();
$message=sprintf(uuuuu(‘快点!只剩下%s笔交易’),$count);
回显“.$message.”;
将显示如下内容:


太棒了!非常感谢你!不确定我是否可以在这里问另一个问题(这个平台上的新问题),但这里是以防万一,或者让我知道我是否应该在这个网站上发布一个新的问题。。。。同样的基础。。有没有办法显示今天发布的产品数量(新)嗨,很抱歉,我在这个网站上很新,我现在点击了你的解决方案。我更同意你的解决方案。非常感谢。apologize@enkiki我有一个答案…如果你愿意,你可以检查一下。非常感谢你,洛伊奇,太棒了!我创建了另一个问题,将你的两个解决方案结合在一起,但没有运气,,,请随意看一看:)嗨,LoicTheAztec,如果你有时间阅读我的新问题,那将非常棒,非常感谢。。。我基本上只是在等待正确的解决方案,然后继续前进!甚至愿意给你小费!!:)令人惊叹的非常感谢你!不确定我是否可以在这里问另一个问题(这个平台上的新问题),但这里是以防万一,或者让我知道我是否应该在这个网站上发布一个新的问题。。。。同样的基础。。有没有办法显示今天发布的产品数量(新)嗨,很抱歉,我在这个网站上很新,我现在点击了你的解决方案。我更同意你的解决方案。非常感谢。apologize@enkiki我有一个答案…如果你愿意,你可以检查一下。非常感谢你,洛伊奇,太棒了!我创建了另一个问题,将你的两个解决方案结合在一起,但没有运气,,,请随意看一看:)嗨,LoicTheAztec,如果你有时间阅读我的新问题,那将非常棒,非常感谢。。。我基本上只是在等待正确的解决方案,然后继续前进!甚至愿意给你小费!!:)可能重复我建议查看上面链接重复问题的已接受答案,因为它“缓存”结果,否则您将在调用此函数的每个页面加载上运行昂贵的SQL查询。可能重复我建议查看上面链接重复问题的已接受答案,因为它“缓存”结果否则,您将在调用此函数的每个页面加载上运行昂贵的SQL查询。
function get_instock_products_count(){
    global $wpdb;

    // The SQL query
    $result = $wpdb->get_var( "
        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 = 'publish'
        AND pm.meta_key = '_stock_status'
        AND pm.meta_value = 'instock'
    " );
    
    return reset($result);
}
$count = get_instock_products_count();
$message = sprintf( __( 'Hurry Up! Only %s remaining trades' ), $count );
echo '<div class="woocommerce-message">'.$message.'</div>';