首页 > 解决方案 > Woocommerce - 根据某些条件更改添加到购物车按钮文本

问题描述

我需要来自这里的经验丰富的程序员的帮助...我有一个销售蒙台梭利 PDF、课程、博客等的网站 - 由我从头开始制作。可在以下网址查看:https ://insideoutmontessori.ro/

我的问题是添加到购物车按钮 - 我想根据条件显示不同的文本 - 而不是:) 让我解释一下......

我使用一个片段来修改添加到购物车按钮文本(CUMPRA - 表示购买英文) - 这已经通过以下代码完成:

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text' ); 
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_product_add_to_cart_text' );

// To change add to cart text on single product page
function woocommerce_custom_single_add_to_cart_text() {
    if ( ! is_admin()) {
        return __( 'Cumpără', 'woocommerce' ); 
    }
}

// To change add to cart text on product archives(Collection) page
function woocommerce_custom_product_add_to_cart_text() {
    if ( ! is_admin()) {
        return __( 'Cumpără', 'woocommerce' ); 
    }
}

我曾经把一个产品没有价格,宣布下一个 PDF - 就像一个预告片。现在不活跃是因为 o 暂时不为新事物工作。为此,我设法将价格更改为“In lucru” - 表示英语正在进行中 - 但我没有设法将按钮文本从 CUMPRA 更改为 VEZI DETALII(表示英语中的更多细节)。该产品不可购买,我无法使用此条件更改按钮文本...

另外 - 对于已经添加到购物车的产品,我想将添加到购物车按钮文本更改为 ADAUGAT IN COS - 表示英语中的已添加到购物车 - 当用户返回所有产品页面并浏览它们时。我之前设法做到这一点(下面的代码有效,但是......)但我收到了一些错误(严重错误),并且在更改代码后,当我尝试保存时,我在编辑器中仅收到带有红色框中的 JSON 消息页面女巫包含 woocommerce 短代码...我停用此代码段以丢失错误。

代码如下:

add_filter('woocommerce_product_add_to_cart_text', 'wc_product_add_to_cart_text', 10, 2 );
add_filter('woocommerce_product_single_add_to_cart_text', 'wc_product_add_to_cart_text', 10, 2 );

function wc_product_add_to_cart_text( $text, $product ){

    if ( ! is_admin()) {
        $product_cart_id = WC()->cart->generate_cart_id( $product->get_id() );
        $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );

        if ( $in_cart ) {
            $text = "Adăugat în coș";
        }
        
        return $text;
    }
}

所以 - 底线是我需要一个片段来根据这三个条件同时更改“添加到购物车”按钮文本:

我认为这是正确的方法 - 我的意思是这需要使用一个更改按钮文本的功能来完成,这取决于这三个条件。

谢谢!

标签: phpwordpresswoocommerce

解决方案


推荐阅读