如何在没有Stock的项目上添加自定义按钮?

时间:2017-07-04 22:16:17

标签: php wordpress woocommerce

我正在使用WordpressWooCommerce,如果在我的商店中有些产品缺货,我需要添加一个联系人按钮,即:

  

如果股票为0,请显示一个联系人按钮。

以下图片看起来更具体,我想插入它:

Show image

我已经找到了如何添加按钮,但它被添加到所有产品中,我只想在我的任何产品上没有库存时显示按钮。 以下是使用的代码:

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>';    
    }
}

3 个答案:

答案 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;            
    }

它对我有用。