如何设置Woocommerce保存/更新产品后跳转至后台产品列表页?
修改WooCommerce产品发布/更新后的跳转页面方法
你之前的代码不生效的原因是:woocommerce_new_product和woocommerce_update_product是动作钩子(Action),这类钩子仅执行指定逻辑,不会处理返回值,所以你返回跳转URL的操作完全无效。要修改后台发布/更新后的跳转地址,需要用**过滤器钩子(Filter)**来拦截并修改跳转路径。
下面是可行的代码方案:
add_filter( 'redirect_post_location', 'custom_product_save_redirect', 10, 2 ); function custom_product_save_redirect( $location, $post_id ) { // 验证当前保存的内容是否为WooCommerce产品 if ( get_post_type( $post_id ) === 'product' ) { // 替换跳转地址为产品列表页 $location = admin_url( 'edit.php?post_type=product' ); } return $location; }
代码说明
- 使用
redirect_post_location过滤器:这个过滤器专门用于修改后台发布/更新文章(包括自定义文章类型)后的跳转地址 - 类型校验:通过
get_post_type( $post_id )判断当前操作的是产品类型,避免影响其他文章类型的跳转逻辑 - 替换跳转地址:将默认的编辑页跳转,替换为产品列表页的URL
将这段代码添加到你的主题functions.php文件中,或者自定义功能插件里,之后发布/更新产品就会自动跳转到后台产品列表页了。
内容的提问来源于stack exchange,提问作者nparaskevopoulos
相关产品推荐
相关产品推荐

