我试图在我的functions.php文件中写一个条件语句来检查一个项目是否有库存。现在我使用以下代码将产品存档页面上的购物车按钮替换为数量标签和输入以及添加到购物车按钮(它们在单个产品页面中是内嵌的)
remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart'); //removes ajax Add To Cart button`
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_single_add_to_cart', 30); //replaces singluar cart button with QTY input as well as cart button
因为当产品缺货时我想让它们消失,我想我可以这样写:
function backorder_msg() {
global $product;
if ( $product->is_in_stock() ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart'); // remove that ajaxified Add To Cart button that automatically adds 1 item to the cart.
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_single_add_to_cart', 30); // replace it with the Add To Cart Button, complete with QTY field.. the same one that is used on the Single Product page.
} else {
}
add_action('get_header', 'backorder_msg');
现在,这显然不起作用。一个原因是因为我使用的get_header
钩子;我不知道在那里使用什么。我也不确定在else语句中写什么。如果我删除这两个动作,那么该区域只会恢复为默认的woocommerce购物车按钮(我也想要将其删除并替换为某些文本)。知道怎么办吗?