2023/2/2534 次阅读0 条评论

WordPress后台文章列表页添加自定义列和排序

在WordPress后台的文章列表页面,默认情况下只有文章标题、作者、发布时间等等。但使用个别wordpress主题的时候可能会有各种文章参数,为了维护网站的方便,所以往往需要在后台文章列表里添加某一个列表栏目,显示自定义的参数。

那么如何在文章后台添加这些的自定义列呢?下面我们就一起来学习一下WP后台添加自定义列的简单方法。下面已本程序为例,添加文章喜欢人数。

打开functions.php函数文件,在文件最末尾处开始添加。

添加列名称

Terminal
add_filter('manage_posts_columns' , 'add_posts_likes_column');function add_posts_likes_column($columns) {	$columns['likes'] = '喜欢';	return $columns;}

给这新加列赋值

Terminal
add_action('manage_posts_custom_column', 'posts_likes_column_content', 10, 2);function posts_likes_column_content($column_name, $post_id) {	if ($column_name == 'likes') {		$likes = get_post_meta($post_id, 'likes', true); echo $likes?$likes:0;	}}

到这里其实已经可以在后台看到新增的“喜欢”自定义列了,但是这有个问题,不能排序。

在表头“喜欢”列名处添加排序链接

Terminal
add_filter(\"manage_edit-post_sortable_columns\", \"posts_likes_column_make_sortable\" );function posts_likes_column_make_sortable($columns) {	$columns['likes'] = 'likes';	return $columns;}

设置排序

Terminal
add_filter( 'request', 'posts_likes_column_orderby' );function posts_likes_column_orderby( $vars ) {	if ( isset( $vars['orderby'] ) && 'likes' == $vars['orderby'] ) {       		$vars = array_merge( $vars, array(			'meta_key' => 'likes',			'orderby' => 'meta_value_num'		) );	}	return $vars;}

看下效果,完工。

![\"WordPress后台文章列表页添加自定义列和排序\"]("/uploads/2023/02/233630-.png" "\"WordPress后台文章列表页添加自定义列和排序\"")

分享文章:
最后更新于: 2026/6/7
上一篇
个人使用的神级WordPress开发的Cursor规则Rules模板
下一篇
已经是最后的一篇文章了