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

修改Dokan WordPress商城店铺与店铺列表Slug失败,求解决方法

Dokan修改店铺及店铺列表Slug的问题解决

你的代码存在的问题

店铺URL代码错误

dokan_get_option_store_url过滤器接收的参数是单个字符串(默认值为"store"),而非数组。你当前的代码错误地将参数当作数组赋值,完全不符合该过滤器的用法,因此无法生效。

店铺列表页面代码的局限性

dokan_store_listing_url过滤器仅用于修改最终输出的URL字符串,但底层WordPress重写规则并未更新,直接替换字符串会导致访问新Slug时出现404错误。而且Dokan提供了专门用于修改店铺列表重写Slug的过滤器,无需用字符串替换这种间接方式。

正确的代码实现

修改店铺Slug

替换原店铺URL代码为以下内容:

function marcuss_store_url( $slug ) {
    // 将默认的"store"替换为目标slug"seller"
    return 'seller';
}
add_filter( 'dokan_get_option_store_url', 'marcuss_store_url' );

修改店铺列表Slug

替换原店铺列表页面代码为以下内容:

function marcus_store_listing_slug( $slug ) {
    // 将默认的"store-listing"替换为目标slug"sellers"
    return 'sellers';
}
add_filter( 'dokan_store_listing_rewrite_slug', 'marcus_store_listing_slug' );

关键生效步骤

将上述代码添加到子主题的functions.php后,必须执行以下操作:

  1. 进入WordPress后台,打开「设置」→「固定链接」页面
  2. 无需修改任何设置,直接点击「保存更改」按钮
  3. 此操作会刷新WordPress重写规则,确保新Slug可正常解析

额外注意事项

  • 若使用缓存插件(如WP Rocket、W3 Total Cache等),请清除所有缓存,避免旧URL缓存导致访问异常
  • 确保代码添加至子主题的functions.php中,不要修改父主题文件,防止主题更新时代码丢失
  • 若仍出现404错误,检查是否有其他插件(如SEO插件)修改了重写规则,可暂时禁用这些插件测试是否冲突

内容的提问来源于stack exchange,提问作者user27310827

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:42:37