修复Essential Grid显示WooCommerce售罄徽章的PHP脚本语法错误
修复Essential Grid中WooCommerce售罄商品徽章的代码
我在WooCommerce网店中想要为售罄商品添加徽章,但由于使用Essential Grid插件展示商品,常规的售罄徽章插件无法生效。参考Essential Grid官方提供的解决方案代码时,发现代码存在中文引号的语法错误,作为PHP新手无法自行修复,特此请求修正后的完整代码。
以下是修正后的完整代码:
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' ); if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){ $product = wc_get_product( $atts['id'] ); $stock_status = $product->get_stock_status(); if ( 'instock' == $stock_status) { $html = '<p class="stock in-stock">有货</p>'; } else { $html = '<p class="stock out-of-stock">售罄</p>'; } } return $html; }
使用说明:
- 这段代码会创建一个名为
[stock_status]的短代码,默认获取当前商品的库存状态 - 若需指定特定商品,可传入商品ID:
[stock_status id="123"](将123替换为目标商品ID) - 可通过CSS类
.stock.in-stock和.stock.out-of-stock自定义徽章样式
内容的提问来源于stack exchange,提问作者Nikola Styrcikova
相关产品推荐
相关产品推荐

