boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

为 WooCommerce 外部商品添加“在新标签页打开”功能


avatar
作者 2025年9月13日 11

为 WooCommerce 外部商品添加“在新标签页打开”功能

本文将指导您如何修改 WooCommerce 商店中外部商品的“添加到购物车”按钮,使其点击后在新标签页中打开链接。正如摘要所述,通过自定义代码,您可以同时修改商店页面和商品详情页的按钮行为,从而提升用户体验。

修改商店页面“添加到购物车”按钮

以下代码段将修改商店页面上外部商品的“添加到购物车”按钮,使其在新标签页中打开。

// add custom button to shop page add_filter('woocommerce_loop_add_to_cart_link', 'shop_page_open_external_in_new_window', 10, 2);  function shop_page_open_external_in_new_window($link) {     global $product;     if ($product->is_type('external')) {         $link = sprintf(             '<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s" target="_blank">%s</a>',             esc_url($product->add_to_cart_url()),             esc_attr(isset($quantity) ? $quantity : 1),             esc_attr($product->get_id()),             esc_attr($product->get_sku()),             esc_attr(isset($class) ? $class : 'button product_type_external'),             esc_html($product->add_to_cart_text())         );     }      return $link; }

这段代码使用 woocommerce_loop_add_to_cart_link 过滤器修改“添加到购物车”按钮的 HTML。它首先检查产品类型是否为 external。如果是,则使用 sprintf 函数创建一个新的链接,其中包含 target=”_blank” 属性,强制链接在新标签页中打开。

修改商品详情页“添加到购物车”按钮

以下代码段将修改商品详情页上外部商品的“添加到购物车”按钮,使其在新标签页中打开。

为 WooCommerce 外部商品添加“在新标签页打开”功能

Huemint

推荐!用AI自定义和谐配色

为 WooCommerce 外部商品添加“在新标签页打开”功能53

查看详情 为 WooCommerce 外部商品添加“在新标签页打开”功能

// remove default button on product page remove_action('woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30);  // add custom button on product page add_action('woocommerce_external_add_to_cart', 'product_page_open_external_in_new_window', 30);  function product_page_open_external_in_new_window() {     global $product;     if (!$product->add_to_cart_url()) {         return;     }      $product_url = $product->add_to_cart_url();     $button_text = $product->single_add_to_cart_text();      do_action('woocommerce_before_add_to_cart_button'); ?>     <p class="cart">         <a href="<?php echo esc_url($product_url); ?>" rel="nofollow" class="single_add_to_cart_button button alt" target="_blank">             <?php echo esc_html($button_text); ?>         </a>     </p> <?php     do_action('woocommerce_after_add_to_cart_button'); }

这段代码首先移除默认的 woocommerce_external_add_to_cart action,然后添加一个新的 action product_page_open_external_in_new_window。这个新的 action 创建一个包含 target=”_blank” 属性的链接,同样强制链接在新标签页中打开。

如何使用

  1. 将以上两个代码段复制到你的 wordPress 主题的 functions.php 文件中。建议使用子主题,以避免在主题更新时丢失修改。
  2. 保存 functions.php 文件。
  3. 刷新你的 WooCommerce 商店页面和商品详情页,查看效果。

注意事项

  • 备份: 在修改 functions.php 文件之前,务必备份你的网站,以防出现意外错误。
  • 子主题: 强烈建议使用子主题进行修改,这样可以避免在主题更新时丢失你的自定义代码。
  • 代码冲突: 如果你的主题或插件已经修改了“添加到购物车”按钮的行为,这段代码可能与它们发生冲突。在这种情况下,你需要仔细检查代码并进行适当的调整。
  • 安全性: 请确保你的 functions.php 文件具有正确的权限设置,以防止恶意代码注入。

总结

通过以上步骤,您可以轻松地为 WooCommerce 商店中的外部商品的“添加到购物车”按钮添加 target=”_blank” 属性,使其在新标签页中打开。这可以提高用户体验,并允许用户在不离开你的网站的情况下访问外部链接。记住,在修改任何代码之前,务必备份你的网站,并使用子主题进行修改。

以上就是为 WooCommerce 外部商品添加“在新标签页打开”功能的详细内容,更多请关注php word html wordpress win php html WordPress



评论(已关闭)

评论已关闭