#推荐
[WordPress教程] WordPress后台用户与文章列字段排序 -静鱼客栈

2021-09-22 0 1,023

对于喜欢玩WordPress开发的小伙伴当然喜欢对WordPress进行无限的折腾,怎么高大尚怎么来,反正人不死折腾不休。我也经常被圈里的朋友问个没完没了,好朋友说谈付费有点伤感情不谈钱但又要喝西北风了。好今天心情不错给大家分享个WordPress后台用户与文章列排序教程,以往度娘上都是对于时间的排序,对于喜欢开发搞字段排序的教程一个木有。


//文章排序
add_filter('pre_get_posts', 'custom_column_orderby');
function custom_column_orderby($query) {
	if (!is_admin() || !$query->is_main_query()) {
		return;
	}
	if ($query->query_vars['post_type'] == 'custom_post_type' && ($orderby = $query->get('orderby'))) {
		switch ($orderby) {
			case 'custom_field':
				$query->set('meta_key', 'custom_field');
				$query->set('orderby', 'meta_value_num');
				break;
			default:
				break;
		}
	}
}
add_filter( 'manage_users_sortable_columns', 'mytheme_user_sortable_columns' );
//改变后台用户注册排序A
add_filter('manage_users_columns','ruike_add_users_column_reg_time');
function ruike_add_users_column_reg_time($column_headers){
	$column_headers['reg_time']= '注册时间';
	$column_headers['reg_key'] = '验证状态';
	return $column_headers;
}
add_filter('manage_users_custom_column', 'ruike_show_users_column_reg_time',10,3);
function ruike_show_users_column_reg_time($value, $column_name, $user_id){
	if($column_name=='reg_time'){
		$user = get_userdata($user_id);
		return get_date_from_gmt($user->user_registered);
	}else if($column_name=='reg_key'){
		$user = get_userdata($user_id);
		return ($user->activation_key=="success")?'已验证':'未验证';
	}
	return $value;
}
add_filter( "manage_users_sortable_columns", 'ruike_users_sortable_columns' );
function ruike_users_sortable_columns($sortable_columns){
	$sortable_columns['reg_time']='regtime';
	$sortable_columns['reg_key'] ='regkey';
	return $sortable_columns;
}
add_action('pre_user_query', 'ruike_user_column_orderby');
function ruike_user_column_orderby($user_search) {
    global $wpdb, $current_screen;
 
	if (isset($current_screen->id) && 'users' != $current_screen->id) {
	    return;
	}
 
    $vars = $user_search->query_vars;
 
    if('regkey' == $vars['orderby']) {
        $user_search->query_from .= " INNER JOIN {$wpdb->usermeta} m1 ON {$wpdb->users}.ID=m1.user_id AND (m1.meta_key='activation_key')";
        $user_search->query_orderby = ' ORDER BY UPPER(m1.meta_value) '. $vars['order'];
    } elseif ('regtime' == $vars['orderby']) {
        $user_search->query_orderby = ' ORDER BY user_registered ' .$vars['order'];
   	}
}

本次教程用户代码区为静鱼客栈现用代码还希望尊重版权,适当的修改成您自己定义的名称。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!305582964@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有U点奖励和额外收入!

静鱼客栈 学习中心 [WordPress教程] WordPress后台用户与文章列字段排序 -静鱼客栈 https://www.52jyu.cn/8972.html

静鱼客栈的帅逼站长~

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP贵宾介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器没有下载完整造成的,可以重新进行下载即可~
查看详情

相关文章

发表评论
暂无评论
静鱼客栈-站长

为您解决烦忧 - 专业服务 看到消息会进行回复