屏蔽 WordPress 古腾堡编辑器,换回经典编辑器
WordPress 5.0 带来的古腾堡编辑器(英文名是 Gutenberg)非常酷,也叫做块编辑器(block editor),它把内容当作一块一块来处理,每一块有自己的设置,使用起来非常清晰好用:

古腾堡编辑器使用不习惯
但是习惯是一件很难改变的事情,很多人习惯了经典的编辑器,对于古腾堡编辑器总是用不习惯。
可能古腾堡编辑器大部分的界面都是关注内容部分,对于摘要,特色图片,分类这些都放到侧边,并且默认隐藏,这个造成了很多人非常不习惯,甚至不知道哪里去设置。
我为了习惯古腾堡的编辑模式,我把很多的针对文章的操作都移到了文章列表,比如在后台的文章列表设置文章特色图片,设置文章摘要,一键上传外部图片等,让古腾堡编辑器专注于文章内容管理。

但是有些用户不想这么折腾,希望切换回经典编辑器。
如何屏蔽古腾堡编辑器
为了兼容,WordPress 官方也提供了 Classic Editor 插件,可以通过各种方式在古腾堡编辑器和经典编辑器切换使用:
- 管理员可以设置默认的编辑器。
- 管理员可以允许用户修改他们的默认编辑器。
- 如果允许,作者给每篇文章设置使用哪种编辑器。
- 任何一篇文章不管最后谁编辑,打开都是最后使用的编辑器都是上次使用的。
搞得挺复杂的,如果你不想额外安装一个插件,其实只需一行代码就可以屏蔽古腾堡编辑器:
add_filter('use_block_editor_for_post_type', '__return_false');
该功能已经整合到 WPJAM Basic 插件中,现已免费提供下载,你只需要勾选下就可以移除!
修改后台文章管理列表
翻译自:http://wp.smashingmagazine.com/2013/12/05/modifying-admin-post-lists-in-wordpress/
你是否发现,当你新建一个自定义文章类型后,在后台的文章管理列表,仅仅只显示文章标题和日期?但事实上文章还包含很多信息,比如作者、分类、评论等,本片文章就叫你如何修改后台的文章列表的信息。
首先请确定你知道本文要将什么,后台文章管理列表指的是你再后台点击“所有文章”“所有页面”之后出现的文章的列表表格。
创建一个自定义的文章类型(,我将使用wp3.8.1 twentyfourteen主题测试),在主题的functions.php文件插入以下的代码,关于如何创建一个文章类型,你也可以参考本站教程wordpress进阶教程(二):注册一个自定义的文章类型:
- add_action( \'init\', \'bs_post_types\' );
- function bs_post_types() {
-
- $labels = array(
- \'name\' => __( \'Events\', THEMENAME ),
- \'singular_name\' => __( \'Event\', THEMENAME ),
- \'add_new\' => __( \'Add New\', THEMENAME ),
- \'add_new_item\' => __( \'Add New Event\', THEMENAME ),
- \'edit_item\' => __( \'Edit Event\', THEMENAME ),
- \'new_item\' => __( \'New Event\', THEMENAME ),
- \'all_items\' => __( \'All Event\', THEMENAME ),
- \'view_item\' => __( \'View Event\', THEMENAME ),
- \'search_items\' => __( \'Search Events\', THEMENAME ),
- \'not_found\' => __( \'No events found\', THEMENAME ),
- \'not_found_in_trash\' => __( \'No events found in Trash\', THEMENAME ),
- \'menu_name\' => __( \'Events\', THEMENAME ),
- );
-
- $supports = array( \'title\', \'editor\' );
-
- $slug = get_theme_mod( \'event_permalink\' );
- $slug = ( empty( $slug ) ) ? \'event\' : $slug;
-
- $args = array(
- \'labels\' => $labels,
- \'public\' => true,
- \'publicly_queryable\' => true,
- \'show_ui\' => true,
- \'show_in_menu\' => true,
- \'query_var\' => true,
- \'rewrite\' => array( \'slug\' => $slug ),
- \'capability_type\' => \'post\',
- \'has_archive\' => true,
- \'hierarchical\' => false,
- \'menu_position\' => null,
- \'supports\' => $supports,
- );
-
- register_post_type( \'event\', $args );
-
- }