如何使用过滤器修改Dokan多供应商插件中的店铺名称?
解决方案
你之前使用的the_author过滤器是用来修改文章作者的显示名称,和商家店铺名称无关,所以无法实现你的需求。针对不同场景,对应的解决方案如下:
1. 基于WooCommerce的商家店铺名称
如果你的店铺是基于WooCommerce搭建的,官方提供了专门的过滤器来修改店铺名称:
function modify_woocommerce_store_name( $store_name ) { return $store_name . '-test'; } add_filter( 'woocommerce_store_name', 'modify_woocommerce_store_name', 10, 1 );
这个过滤器会作用于所有前端显示店铺名称的场景(比如店铺页眉、商家资料页等)。部分场景下也可以用woocommerce_get_store_name,但前者的通用性更强。
2. 其他电商插件场景
如果你用的是Easy Digital Downloads这类其他电商插件,需要查看对应插件的官方文档,找到店铺名称输出对应的过滤器。比如EDD中通常会有edd_store_name这类钩子,用法和上述示例类似。
3. 自定义字段存储的店铺名称
如果店铺名称是你通过自定义用户字段添加的,你可以先给自己的字段输出逻辑注册一个自定义过滤器,再进行修改:
// 封装店铺名称获取逻辑并添加自定义过滤器 function get_store_name_for_user( $user_id ) { $store_name = get_user_meta( $user_id, 'store_name', true ); // 注册自定义过滤器 return apply_filters( 'custom_user_store_name', $store_name, $user_id ); } // 使用过滤器修改店铺名称 function modify_custom_store_name( $store_name, $user_id ) { return $store_name . '-test'; } add_filter( 'custom_user_store_name', 'modify_custom_store_name', 10, 2 );
之后在需要显示店铺名称的地方调用get_store_name_for_user()即可。
内容的提问来源于stack exchange,提问作者K1-Aria
相关产品推荐
相关产品推荐

