创建短代码以在 Woocommerce 上显示产品库存状态

问题描述 投票:0回答:2

我想在我们的产品页面上显示库存状态,例如“有货”,我理想情况下希望通过自定义短代码显示库存状态。

有谁知道这是否可行或其他解决方案?

php wordpress woocommerce shortcode product
2个回答
5
投票

更新:您可以使用这个简单的功能通过自定义简码显示库存状态:

add_shortcode( 'stock_status', 'display_product_stock_status' );
function display_product_stock_status( $atts) {

    $atts = shortcode_atts(
        array('id'  => get_the_ID() ),
        $atts, 'stock_status'
    );

    $product = wc_get_product( $atts['id'] );

    $stock_status = $product->get_stock_status();

    if ( 'instock' == $stock_status) {
        return '<p class="stock in-stock">In stock</p>';
    } else {
        return '<p class="stock out-of-stock">Out of stock</p>';
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。已测试并有效。

用法:

[stock_status]
(或定义产品 ID
[stock_status id='47']
,其中
47
是产品 ID…)


0
投票

在 get_stock_status 上遇到布尔错误

我执行了以下操作,似乎有效,但不确定代码是否正确。

add_shortcode( 'stock_status', 'display_product_stock_status' ); 函数display_product_stock_status($atts){

$atts = shortcode_atts(
    array('id'  => get_the_ID() ),
    $atts, 'stock_status'
);

$product = wc_get_product( $atts['id'] );
if(is_bool($product)){
return '<p></p>';   
}
else{
$stock_status = $product->get_stock_status();

    if('instock' == $stock_status){
        return '<p class="stock in-stock">In Stock</p>';
    }
    else{
        return '<p class="stock out-of-stock">Out of Stock</p>';
    }

} }

© www.soinside.com 2019 - 2024. All rights reserved.