You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce技术求助:联盟商品图片及标题跳转至外链并新标签打开

实现WooCommerce外部/联盟商品标题跳转至联盟链接(新标签页)

嘿,很高兴你已经通过Sadoo的代码搞定了商品图片跳转的需求!要让商品标题也实现相同的逻辑——直接跳转到联盟链接且在新标签页打开,咱们可以用WooCommerce的钩子来修改标题的输出,具体操作如下:

代码实现

你可以把这段代码添加到主题的functions.php文件中,或者借助自定义代码插件(比如Code Snippets)来添加,避免主题更新丢失自定义内容:

add_filter( 'woocommerce_loop_product_title', 'custom_external_product_title_link', 10, 1 );
function custom_external_product_title_link( $title ) {
    global $product;

    // 仅对外部/联盟商品生效
    if ( $product->is_type( 'external' ) ) {
        $external_url = $product->get_product_url();
        $link_title = $product->get_button_text() ? $product->get_button_text() : __( 'Buy product', 'woocommerce' );
        
        // 用联盟链接包裹原标题,添加新标签打开属性
        $title = sprintf( '<a href="%s" target="_blank" rel="noopener noreferrer" title="%s">%s</a>',
            esc_url( $external_url ),
            esc_attr( $link_title ),
            $title
        );
    }

    return $title;
}

代码说明

  • 我们用到了woocommerce_loop_product_title过滤器,它专门负责修改商品列表里标题的输出结构。
  • 先判断当前商品是否为外部/联盟类型,确保不会影响普通商品的标题跳转逻辑。
  • 获取商品的联盟链接后,用这个链接包裹原标题,同时加上target="_blank"实现新标签打开,rel="noopener noreferrer"是安全层面的最佳实践,防止新页面篡改原页面。
  • 如果商品设置了自定义按钮文本,会自动把它作为链接的title属性,让用户hover时能看到提示信息。

小提示

  • 操作前记得备份主题文件,避免失误导致网站异常。
  • 如果你用的是自定义主题,优先把代码加到子主题的functions.php里,这样主题更新时自定义代码不会被覆盖。

内容的提问来源于stack exchange,提问作者Enric Serra Duran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:08:17