我正在使用Wordpress
和WooCommerce
,如果在我的商店中有些产品缺货,我需要添加一个联系人按钮,即:
如果股票为0,请显示一个联系人按钮。
以下图片看起来更具体,我想插入它:
我已经找到了如何添加按钮,但它被添加到所有产品中,我只想在我的任何产品上没有库存时显示按钮。 以下是使用的代码:
add_action('woocommerce_after_add_to_cart_button', 'boton_subasta');
function boton_subasta(){
global $product;
if ( ! $product->is_in_stock()){
echo '<button type="submit" class="button alt" onclick="window.location.href=http://http://138.197.9.71/prov-individuales/">contacto</button>';
}
}
答案 0 :(得分:0)
你在gcloud compute firewall-rules create allow-rstudio --allow tcp:8787
声明中遗漏了一个')',这就是为什么它不起作用的原因。
if
答案 1 :(得分:0)
仅当woocommerce_after_add_to_cart_button
为真时才会调用操作$product->is_in_stock()
。因此,此操作不会被称为if $product->is_in_stock() is false
。
换句话说,Add to Cart
按钮仅在$product->is_in_stock() is true
时存在,如果产品为out of stock
则根本不存在,因此之后没有要添加的按钮。
您可能希望对过滤器woocommerce_get_stock_html
进行研究。
但是,我不明白为什么要显示你的按钮。给定的代码不应显示按钮。您确定问题中编写的代码是您正在使用的代码吗?
答案 2 :(得分:0)
解决了:
我已经找到了一个解决方案,感谢大家带我走上一条良好的研究路径,使用以下代码:
add_action( 'woocommerce_single_product_summary', 'boton_sub_producto_single', 6 );
function boton_sub_producto_single() {
global $product;
if ( ! $product->is_in_stock() || ! $product->is_purchasable() ){
echo '<button type="submit" class="button alt" onclick="window.location.href=http://http://138.197.9.71/prov-individuales/">contacto</button>';
}
return $product;
}
它对我有用。