Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
为 WooCommerce 外部商品添加“在新标签页打开”功能_创想鸟

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

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

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

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

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

// add custom button to shop pageadd_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(            '%s',            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 pageremove_action('woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30);// add custom button on product pageadd_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'); ?>    

<a href="" rel="nofollow" class="single_add_to_cart_button button alt" target="_blank">

<?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中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1273577.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
HTML多选下拉框多值存储到SQL数据库的专业实现指南
上一篇 2025年12月10日 15:48:56
php如何处理浮点数的精度问题 php浮点数运算精度问题解决方案
下一篇 2025年12月10日 15:49:13

相关推荐

发表回复

登录后才能评论
关注微信