产品售罄时,更改“添加到购物车”文本

时间:2020-03-01 16:55:49

标签: php jquery wordpress woocommerce

每个人我都想在产品售罄时将“ in winkelmand”按钮更改为“售罄”。

我试图禁用下面附带的产品单,以摆脱看上去很奇怪的盒子。

但是现在需要更改文本

.product .single_variation {
    display: none !important;
}

nm-variable-add-to-cart-button single_add_to_cart_button button alt disabled wc-variation-is-unavailable

不幸的是,没有结果,谁能指出我正确的方向?

https://www.peachandhoney.nl/product/bella-rose-top/

是指向该站点的链接。 Xs在该产品上已售罄,其余的则在库存中。

谢谢。

3 个答案:

答案 0 :(得分:1)

如果我理解您的问题,是否要更改文本? add to cart文本是可过滤的。使用过滤器woocommerce_product_single_add_to_cart_text。只要您允许缺货,就会显示该按钮。

add_filter( 'woocommerce_product_single_add_to_cart_text', 'dd_custom_single_add_to_cart_text' ); 
function dd_custom_single_add_to_cart_text(){
    global $product;
    if ($product->get_stock_status() !== 'instock'){
        return __( 'Sold Out', 'woocommerce' );
    } else {
        return __( 'Add to cart', 'woocommerce' );
    }
}

答案 1 :(得分:1)

想要用另一个文本更改“售罄”文本,那么这将解决WooCommerce Way的问题。请将此代码添加到您的主题functions.php中。但是请不要忘记使用儿童主题

add_filter( 'woocommerce_get_availability_text', 'amc_change_out_of_stock_text', 10, 2 );

 function amc_change_out_of_stock_text( $availability, $product ){

    if ( ! $product->is_in_stock() ) {

        $availability = __( 'in de winkelmand', 'woocommerce' );

    }

    return $availability;

 }

答案 2 :(得分:0)

这应该工作正常。经过测试并确认。

function change_loop_add_to_cart_button( $button, $product, $args = array() ) {
    if( !$product->is_in_stock() ){
        $button = '<a class="button disabled" style="cursor:not-allowed;color:#777;background-color:#aaa;">'.__('Sold Out', 'woocommerce').'</a>';
    }
   return $button;
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'change_loop_add_to_cart_button', 20, 3 );
相关问题