WordPress后台如何调整管理栏列顺序 将特色图像列移到标题左侧
解决方法
你的代码目前是直接向列数组末尾追加特色图像字段,所以只会显示在靠后的位置。只需要修改列注册函数,把特色图像列插入到数组首位即可,修改后的完整代码如下:
// 注册后台特色图像尺寸 add_image_size( 'showimg-admin-post-featured-image', 60, 60, false ); // 注册文章、页面列表的特色图像列,优先级设为2保证先执行 add_filter('manage_posts_columns', 'showimg_add_post_admin_thumbnail_column', 2); add_filter('manage_pages_columns', 'showimg_add_post_admin_thumbnail_column', 2); // 重构列顺序,将特色图像列放到最左侧 function showimg_add_post_admin_thumbnail_column($showimg_columns){ // 先创建新的列数组,插入特色图像列作为第一个元素 $new_column = array( 'showimg_thumb' => __('Featured Image') ); // 把原有列合并到新列数组之后 $showimg_columns = array_merge($new_column, $showimg_columns); return $showimg_columns; } // 注册列内容渲染钩子 add_action('manage_posts_custom_column', 'showimg_show_post_thumbnail_column', 5, 2); add_action('manage_pages_custom_column', 'showimg_show_post_thumbnail_column', 5, 2); // 渲染特色图像列内容 function showimg_show_post_thumbnail_column($showimg_columns, $showimg_id){ switch($showimg_columns){ case 'showimg_thumb': if( function_exists('the_post_thumbnail') ) { echo the_post_thumbnail( 'showimg-admin-post-featured-image' ); } else echo 'hmm… 当前主题不支持特色图像功能'; break; } } // 可选:添加后台样式调整缩略图列宽度,避免布局挤压 add_action('admin_head', 'showimg_thumbnail_column_style'); function showimg_thumbnail_column_style() { echo '<style> .column-showimg_thumb { width: 70px; } </style>'; }
改动说明
- 核心调整了
showimg_add_post_admin_thumbnail_column函数的逻辑:不再直接向原有列数组追加字段,而是先创建包含特色图像列的新数组,再把原有列合并到新数组之后,自然就实现了排在最左侧的效果 - 额外新增的样式代码用于固定缩略图列宽,避免列表宽度自适应时挤压缩略图显示,不需要可直接删除
内容的提问来源于stack exchange,提问作者ShrockCo
相关产品推荐
相关产品推荐

