如何将WordPress主题中的自定义文章类型Recipes改为News?
修改WordPress主题自定义文章类型“Recipes”为“News”的实用方案
我导入了一款使用体验良好的WordPress主题,但该主题包含一个名为Recipes的自定义文章类型,我希望将其改为News,却找不到修改方法,该选项不在常规菜单中,会不会是在主题无法编辑的区域?
以下是几种可行的修改方法:
方法一:直接修改主题注册代码(推荐子主题操作)
- 找到主题目录下的
functions.php,或专门存放自定义文章类型的文件(比如inc/custom-post-types.php) - 搜索
register_post_type('recipes'的代码块,将其中的标签文本全部替换:- 把
'name' => __( 'Recipes', '主题文本域' )改成'name' => __( 'News', '主题文本域' ) - 同步修改
singular_name、menu_name等所有相关标签的文本 - 将
rewrite参数里的slug从recipes改为news
- 把
- 修改完成后,进入后台「设置→固定链接」,直接点击保存按钮刷新链接规则
方法二:用可视化插件修改(无需代码基础)
- 安装并激活Custom Post Type UI插件
- 进入插件界面,找到「编辑自定义文章类型」选项,选中“Recipes”类型
- 在编辑页面修改所有显示标签为“News”,并更新slug为
news - 保存后同样需要刷新固定链接设置
方法三:针对加密/无法编辑的主题(用代码片段覆盖)
如果主题文件加密或禁止编辑,可通过代码过滤器覆盖原有设置:
- 安装Code Snippets插件,添加新代码片段
- 粘贴以下代码并激活:
add_filter('register_post_type_args', 'override_recipes_cpt', 10, 2); function override_recipes_cpt($args, $post_type) { if ($post_type !== 'recipes') return $args; // 修改显示标签 $args['labels'] = array( 'name' => 'News', 'singular_name' => 'News', 'menu_name' => 'News', 'add_new' => '添加新闻', 'add_new_item' => '添加新新闻', 'edit_item' => '编辑新闻', 'new_item' => '新新闻', 'view_item' => '查看新闻', 'search_items' => '搜索新闻', 'not_found' => '未找到新闻', 'not_found_in_trash' => '回收站中未找到新闻' ); // 修改链接slug $args['rewrite']['slug'] = 'news'; return $args; }
- 激活后刷新固定链接即可生效
注意事项
- 修改slug后,原Recipes文章的旧链接会失效,可通过Redirection插件批量设置301重定向,避免404错误
- 若使用子主题修改代码,主题更新后不会丢失修改;直接修改父主题的话,更新主题前记得备份修改内容
内容的提问来源于stack exchange,提问作者Thomas Nichols
相关产品推荐
相关产品推荐

