如何全局移除WordPress后台文章/页面/CPT列表中的post_type列?
全局移除WordPress后台列表中的「Type」列
用钩子实现全局移除
该列的ID为post_type,可以通过WordPress的列管理钩子,批量移除所有文章类型(包括文章、页面、自定义文章类型)的这个列,无需修改数据库。
在主题的functions.php文件或自定义插件中添加以下代码:
// 移除文章列表中的Type列 function remove_post_type_column( $columns ) { unset( $columns['post_type'] ); return $columns; } // 遍历所有公开的文章类型,应用移除逻辑 $public_post_types = get_post_types( array( 'public' => true ), 'names' ); foreach ( $public_post_types as $type ) { add_filter( "manage_{$type}_posts_columns", 'remove_post_type_column' ); }
这段代码会自动对所有公开的文章类型生效,彻底移除后台列表中的「Type」列,且该列不会再出现在屏幕设置的列选项里。
数据库差异的补充排查
如果确实怀疑是数据库配置导致的异常,可以检查wp_options表中以manage_{post_type}_posts_columns为前缀的选项(比如manage_post_posts_columns、manage_page_posts_columns),查看是否包含post_type列的配置项。不过上述钩子方法已经能覆盖数据库的自定义设置,无需手动修改数据库。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

