2015-05-21 38 views
2

在Wordpress的用戶表中添加名爲company的自定義列。還對該列進行排序功能。但是,當表格使用該自定義列進行排序時,不會顯示分頁。排序Wordpress時在用戶表中添加的自定義列的分頁

if ('company' == $query->query_vars['orderby']) { 
    $query->query_fields = 'u.*,um.*,c1.*'; 
    $query->query_from = 'FROM '. $wpdb->prefix.'users as u JOIN '. $wpdb->prefix . 'usermeta as um ON u.ID=um.user_id JOIN ' . $wpdb->prefix . 'company as c1 ON um.meta_value=c1.company_id'; 
    $query->query_orderby = ' ORDER BY company_name ' . ($query->query_vars["order"] == "ASC" ? "asc " : "desc "); 
    $query->query_limit='LIMIT 20'; 
} 

此外,如果我們打2頁的URL這樣

http://example.com/wp-admin/users.php?orderby=company&order=asc&paged=2 

會重定向到

http://example.com/wp-admin/users.php?orderby=company&order=asc&paged=1 

回答

0

我得到了它

if ('company' == $query->query_vars['orderby']) { 
$limit =20; 
     if(isset($_GET['paged'])){ 
      $page = $_GET['paged']; 
      $offset = ($page - 1) * $limit; 
      $start = $offset + 1; 
     }else{ 
      $start = 1; 
     } 
     if($_GET['paged'] == 1){ 
      $start = 1; 
     } 
     $query->query_fields = 'u.ID'; 
     $query->query_from = 'FROM '. $wpdb->prefix.'users as u JOIN '. $wpdb->prefix . 'usermeta as um ON u.ID=um.user_id JOIN ' . $wpdb->prefix . 'company as c1 ON um.meta_value=c1.company_id'; 
     $query->query_orderby = ' ORDER BY company_name ' . ($query->query_vars["order"] == "ASC" ? "asc " : "desc "); 
     $query->query_limit="LIMIT $start, $limit"; 
    } 

只選擇用戶編號不是全部。

$query->query_fields = 'u.ID'; 

,而不是

$query->query_fields = 'u.*,um.*,c1.*'; 

,改變$query->query_limit=20;

to $query->query_limit="LIMIT $start, $limit"; 
相關問題