在Woocommerce商店页面上自定义添加到购物车按钮

河马编码器

我目前使用此功能在特定类别中的单个产品页面上更改“添加到购物车”按钮。我还希望在缩略图下方的商店页面上更改“添加到购物车按钮”。任何帮助将不胜感激。

// Display Auction Link When 'auction' is in the category
function so_43372512_maybe_show_auction_link(){
if( has_term( 'auction', 'product_cat' ) ) {
    echo ' <style type="text/css">
                .woocommerce div.product form.cart, .woocommerce div.product p.cart {
                display:none ; }
                .woocommerce div.product p.price, .woocommerce div.product span.price {
                display:none ; }
                .woocommerce div.product p.stock {
                display:none ; }
                .product_meta {
                margin-top:20px;
                }
            </style>';
    echo '<p>Click This Button To View The Lot         </p>';
    global $product; 
    $skusearch = $product->get_sku();
    echo '<a id="auction" style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;" href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open" target="blank">' . __ ( 'On Auction Now!', 'your-plugin' ) . '</a>';
}
}
add_action( 'woocommerce_single_product_summary', 
'so_43372512_maybe_show_auction_link', 35 );
LoicTheAztec

在下面,您将找到必要的代码,以通过自定义的“立即拍卖!”替换“添加到购物车”按钮。按钮,也隐藏了产品价格…

我还完全重新审视了您的代码,删除了“价格”和“添加到购物车”按钮模板,而是使用CSS对其进行了隐藏,仅适用于“拍卖”产品类别…

编码:

// Remove the price on archive pages (like shop) for 'auction' product category
add_action('woocommerce_after_shop_loop_item_title', 'remove_price_from_archives', 9 );
function remove_price_from_archives(){
    global $product, $post;

    // Only for 'auction' product category
    if ( has_term( 'clothing', 'product_cat' ) )
        remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10);
}

// Replace add to cart button on archive pages (like shop) for 'auction' product category
add_action('woocommerce_after_shop_loop_item', 'replace_add_to_cart_button_in_archives', 9 );
function replace_add_to_cart_button_in_archives() {
    global $product, $post;

    // Only for 'auction' product category
    if ( ! has_term( 'clothing', 'product_cat' ) ) return;

    // remove add to cart button
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);

    $skusearch = $product->get_sku();
    $style = 'style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;"';
    $href = 'href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open"';
    echo '<div style="margin-top:24px;">
        <a '.$href.' id="auction" '.$style.' target="blank">' . __ ( 'On Auction Now!', 'your-plugin' ) . '</a>
    </div>';
}

// Remove the displayed price and add-to-cart button on single product pages for 'auction' product category
// Replace add to cart by your custom "On Auction Now!" button
add_action( 'woocommerce_single_product_summary', 'remove_the_displayed_price_from_variable_products', 9 );
function remove_the_displayed_price_from_variable_products() {
    global $product, $post;

    // Only for 'auction' product category
    if ( has_term( 'clothing', 'product_cat' ) ){
        // remove product price
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
        // remove add-to-cart button
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
        // Add your custom "On Auction Now!" button
        add_action( 'woocommerce_single_product_summary', 'replace_add_to_cart_by_auction', 30 );
    }
}

// This function displays your custom button replacement in single product pages
function replace_add_to_cart_by_auction(){
    global $product;

    $skusearch = $product->get_sku();
    $style = 'style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;"';
    $href = 'href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open"';

    echo '<p>Click This Button To View The Lot</p>
    <a '.$href.' id="auction" '.$style.' target="blank">' . __ ( 'On Auction Now!', 'your-plugin' ) . '</a>';
}

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

此代码已经过测试并且可以工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将产品添加到Woocommerce单个产品页面上的购物车后,激活自定义按钮

Woocommerce 3商店页面上“添加到购物车”下的“添加额外”按钮

在WooCommerce商店页面上将数量字段添加到Ajax添加到购物车按钮

设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

WooCommerce自定义PHP代码更改添加到购物车按钮文本

单个Woocommerce产品自定义变体添加到购物车按钮

根据WooCommerce产品自定义库存状态禁用添加到购物车按钮

在可变的单个产品页面中自定义添加到购物车按钮/链接

WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

在 WooCommerce 中添加到购物车后更改自定义 Ajax 添加到购物车按钮文本

自定义添加到购物车按钮以将多个产品添加到购物车中,数量为:woocommerce

将基于ACF字段的自定义“添加到购物车”按钮添加到WooCommerce单个产品页面

根据自定义管理复选框的条件更改商店档案上的“添加到购物车”按钮

在WooCommerce商店页面中将“添加到购物车”按钮直线对齐

Woocommerce 如何将添加到购物车按钮集中在单个页面上

根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

使用woocommerce上的自定义按钮短代码替换添加到购物车按钮

自定义 WooCoomerce 产品页面,添加到购物车按钮重定向到产品页面

如何在 WooCommerce 添加到购物车按钮后添加可自定义的文本

如何在WooCommerce中重定向到自定义添加到购物车按钮上的结帐

通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

在Woocommerce中的产品自定义循环上启用Ajax添加到购物车按钮

在WooCommerce中为特定产品类别自定义“添加到购物车”按钮

自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮

将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

将“添加到购物车”按钮替换为WooCommerce 3中与商店页面上的产品页面链接的更多信息

在 WooCommerce 商店页面上向 Ajax 添加数量单选选择器字段添加到购物车按钮

WooCommerce自定义产品类型-多个添加到购物车部分的问题

Woocommerce:添加到购物车后的自定义jquery事件