删除或隐藏WooCommerce添加到购物车按钮

时间:2017-08-09 09:35:11

标签: php wordpress woocommerce product hook-woocommerce

我想隐藏添加到购物车按钮并显示自定义文字而不是按钮。

我正在尝试关注删除按钮:

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');

3 个答案:

答案 0 :(得分:1)

以下是您寻找(我认为)的方式。

第一个功能将在商店页面上用链接到其单个产品页面的普通按钮替换“添加到购物车”按钮,如下所示:

enter image description here

第二个功能将替换自定义文本的“添加到购物车”按钮(和数量),如下所示:

enter image description here

以下是代码:

// Shop and archives pages: we replace the button add to cart by a link to the product
add_filter( 'woocommerce_loop_add_to_cart_link', 'custom_text_replace_button', 10, 2 );
function custom_text_replace_button( $button, $product  ) {
    $button_text = __("View product", "woocommerce");
    return '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
}

// replacing add to cart button and quantities by a custom text
add_action( 'woocommerce_single_product_summary', 'replacing_template_single_add_to_cart', 1, 0 );
function replacing_template_single_add_to_cart() {

    // Removing add to cart button and quantities
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

    // The text replacement
    add_action( 'woocommerce_single_product_summary', function(){

        // set below your custom text
        $text = __("My custom text goes here", "woocommerce");

        // Temporary style CSS
        $style_css = 'style="border: solid 1px red; padding: 0 6px; text-align: center;"';

        // Output your custom text
        echo '<p class="custom-text" '.$style_css.'>'.$text.'</a>';
    }, 30 );
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试和工作

答案 1 :(得分:0)

<强> 1 即可。如果您想完全禁用“添加到购物车”按钮,请将此代码添加到主题的functions.php文件中。

add_filter( 'woocommerce_is_purchasable', false );

<强> 2 即可。要在“添加到购物车”按钮后添加一些HTML内容,请尝试使用此代码。

add_action( 'woocommerce_after_add_to_cart_button', 'add_content_after_addtocart_button_func' );

function add_content_after_addtocart_button_func() {
    echo '<p>Hi, I'm the text after Add to cart Button.</p>';
}

答案 2 :(得分:0)

我能够使用Wordpress插件执行此操作,后来发现https://wordpress.org/plugins/woo-options/