2023年12月28日

wordpress开发 后台文章添加 浏览次数 等自定义列方法 亲测可用


wordpress是一套非常好用的网站后台程序,非常简单,同时也非常强大,切图网也是wordpress的重度使用者,超过十多年的使用时间,wordpress简单在于初始程序非常简单,文件包也小,数据库文件也少,强大在于非常灵活的设计方式,你总是可以给任何一个地方添加代码扩展 来满足你的要求,下面附wordpress开发 后台文章添加 浏览次数 等自定义列方法 亲测可用。

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

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

标签:

微信扫一扫二维码访问


16年前端经验
加微信好友直接沟通
了解《我的十年》