本文将指导您如何修改 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” 属性,强制链接在新标签页中打开。
修改商品详情页“添加到购物车”按钮
以下代码段将修改商品详情页上外部商品的“添加到购物车”按钮,使其在新标签页中打开。
// 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” 属性的链接,同样强制链接在新标签页中打开。
如何使用
- 将以上两个代码段复制到你的 wordPress 主题的 functions.php 文件中。建议使用子主题,以避免在主题更新时丢失修改。
- 保存 functions.php 文件。
- 刷新你的 WooCommerce 商店页面和商品详情页,查看效果。
注意事项
- 备份: 在修改 functions.php 文件之前,务必备份你的网站,以防出现意外错误。
- 子主题: 强烈建议使用子主题进行修改,这样可以避免在主题更新时丢失你的自定义代码。
- 代码冲突: 如果你的主题或插件已经修改了“添加到购物车”按钮的行为,这段代码可能与它们发生冲突。在这种情况下,你需要仔细检查代码并进行适当的调整。
- 安全性: 请确保你的 functions.php 文件具有正确的权限设置,以防止恶意代码注入。
总结
通过以上步骤,您可以轻松地为 WooCommerce 商店中的外部商品的“添加到购物车”按钮添加 target=”_blank” 属性,使其在新标签页中打开。这可以提高用户体验,并允许用户在不离开你的网站的情况下访问外部链接。记住,在修改任何代码之前,务必备份你的网站,并使用子主题进行修改。
以上就是为 WooCommerce 外部商品添加“在新标签页打开”功能的详细内容,更多请关注php word html wordpress win php html WordPress
评论(已关闭)
评论已关闭