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

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

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

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

添加列名称

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

给这新加列赋值

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;
	}
}

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

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

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

设置排序

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后台文章列表页添加自定义列和排序
THE END
分享
WordPress后台文章列表页添加自定义列和排序
在WordPress后台的文章列表页面,默认情况下只有文章标题、作者、发布时间等等。但使用个别wordpress主题的时候可能会有各种文章参数,为了维护网站的方便,所……
<<上一篇
下一篇>>