如何在不改动所有者、开发者/贡献者的前提下重命名WordPress插件作者?
修改WordPress插件列表页“By [name]”署名的可行方案
问题描述
近期开发多款WordPress插件时,需要修改插件列表页(/plugins/)顶部显示的“By [name]”署名,实现所有插件署名的连贯性,但不改动插件的所有者、开发者及贡献者信息。
以Mullenberg的插件为例:在/plugins/页面能看到他的署名,但进入插件详情页后,显示的贡献者和开发者信息却不一致。
已尝试两种方法均未成功:
- 修改readme文件:仅改动了贡献者信息,无法修改目标署名;
- 在WordPress管理面板修改“owner”设置:无法同步修改“By [name]”署名。
可行解决办法
方法1:直接修改插件主文件的注释头
WordPress插件列表页的“By [name]”信息,默认读取插件主PHP文件顶部注释块的Author字段。你可以直接编辑每个插件的主文件开头注释:
/* Plugin Name: 你的插件名称 Plugin URI: https://example.com/ Description: 插件描述内容 Version: 1.0.0 Author: 你想要显示的统一署名 Author URI: https://your-site.com/ License: GPL2 */
修改Author字段后,刷新插件列表页即可看到署名变化,且不会影响插件所有者、贡献者等后台配置信息。
方法2:用钩子批量统一修改
如果有大量插件需要统一调整,可通过plugin_row_meta钩子批量替换,无需逐个修改插件文件。在主题的functions.php或自定义功能插件中添加以下代码:
add_filter('plugin_row_meta', 'custom_unify_plugin_author', 10, 2); function custom_unify_plugin_author($meta, $file) { // 可指定仅修改特定插件,比如:if ($file == 'plugin-folder/plugin-main.php') { ... } foreach ($meta as $key => $value) { if (strpos($value, 'By') !== false) { // 将"原署名"替换为你的统一署名 $meta[$key] = str_replace('原署名', '你的统一署名', $value); } } return $meta; }
这种方法不改动插件本身文件,批量管理更高效,且不会影响插件的所有者、贡献者信息。
注意事项
- 方法1修改的是插件文件,后续插件更新若覆盖主文件,需重新修改,建议备份修改后的文件;
- 方法2依赖钩子代码,只要代码存在就会生效,不受插件更新影响。
内容的提问来源于stack exchange,提问作者Isaac Anderson
相关产品推荐
相关产品推荐

