如何修改WooCommerce订单详情页的产品跳转URL
WooCommerce后台订单详情页产品链接跳转前台实现方案
直接通过WooCommerce官方钩子添加代码片段即可实现需求,无需安装额外插件,修改后仅作用于后台订单详情页的产品链接,不影响其他后台页面的产品编辑入口跳转逻辑。
可用代码片段
将以下代码添加到站点即可生效:
add_filter( 'woocommerce_admin_order_item_permalink', 'custom_admin_order_product_to_frontend', 10, 2 ); function custom_admin_order_product_to_frontend( $original_link, $order_item ) { $product_id = $order_item->get_product_id(); $variation_id = $order_item->get_variation_id(); // 优先获取变体产品的前台链接,普通产品取主产品链接 $target_id = $variation_id ? $variation_id : $product_id; $frontend_link = get_permalink( $target_id ); // 前台链接有效则替换,无效则保留原后台编辑链接避免死链 return $frontend_link ? $frontend_link : $original_link; }
使用方式
- 方式一:打开当前启用的子主题/自定义主题的
functions.php文件,将上述代码粘贴到文件末尾保存即可,注意不要破坏原有PHP代码语法,避免站点报错 - 方式二:安装代码片段管理插件(如Code Snippets),新建自定义片段粘贴上述代码,设置为全局启用后保存,该方式不会因为主题更新丢失自定义修改
注意:如果对应产品为非公开状态(草稿、私有、待审核、已移入回收站),代码会自动保留原有后台编辑链接,不会生成无法访问的死链。
参考效果截图:
内容的提问来源于stack exchange,提问作者Davor
相关产品推荐
相关产品推荐

