如果购物车有特定产品,请更改结帐“下订单”文本

时间:2016-12-26 23:33:09

标签: php wordpress woocommerce checkout hook-woocommerce

在WooCommerce中,如果购物车在结帐页面上有特定的产品(ID),我正在寻找更改“下订单”文字的功能。

这对于销售产品的woo商店非常有用,同时提供不同的服务,例如会员资格。这将使场所订单文本更具描述性,作为“号召性用语”按钮。

我根据特定产品ID在单个产品页面上创建了更改“添加到购物车”按钮文本的功能

add_filter( 'woocommerce_product_single_add_to_cart_text',
'woo_custom_cart_button_text' ); 

function woo_custom_cart_button_text( $text ) {
global $product;

if ( 123 === $product->id ) {
   $text = 'Product 123 text';
}
return $text;
}

并更改地点订单文字全球;

add_filter( 'woocommerce_order_button_text', 'woo_custom_order_button_text' ); 

function woo_custom_order_button_text() {
    return __( 'Your new button text here', 'woocommerce' ); 
}

我正在寻找如何使其适应结帐页面

感谢。

1 个答案:

答案 0 :(得分:1)

如果我已经很好地理解了您的问题,那么当您在购物车中有特定产品时,您将获得一个自定义功能,该功能将在Checkout提交按钮上显示自定义文字:

add_filter( 'woocommerce_order_button_text', 'custom_checkout_button_text' );
function custom_checkout_button_text() {

    // Set HERE your specific product ID
    $specific_product_id = 37;
    $found = false;

    // Iterating trough each cart item
    foreach(WC()->cart->get_cart() as $cart_item)
        if($cart_item['product_id'] == $specific_product_id){
            $found = true; // product found in cart
            break; // we break the foreach loop
        }

    // If product is found in cart items we display the custom checkout button
    if($found)
        return __( 'Your new button text here', 'woocommerce' ); // custom text Here
    else
        return __( 'Place order', 'woocommerce' ); // Here the normal text
}

代码进入活动子主题(活动主题或任何插件文件)的function.php文件中。

此代码经过测试并有效。

类似的答案(多个产品ID): WooCommerce - Check if item's are already in cart