Làm cách nào để thay đổi thứ tự bài viết trong Admin?


8

Làm cách nào tôi có thể thay đổi thứ tự các bài đăng trong bảng điều khiển quản trị, để chúng hiển thị theo thứ tự bảng chữ cái theo tiêu đề, thay vì mới nhất trước tiên?

Câu trả lời:


16

Nếu bạn không muốn luôn nhấp vào cột "Tiêu đề" để sắp xếp các bài đăng của mình theo tiêu đề, bạn có thể đặt mã này vào functions.phptệp của chủ đề WordPress hiện đang hoạt động hoặc trong một plugin. Điều này sẽ tự động luôn sắp xếp bài đăng của bạn cho bạn, vì vậy bạn không phải nhấp vào cột tiêu đề mỗi lần.

Bạn có thể sử dụng điều này để thiết lập thứ tự sắp xếp mặc định trên các loại bài đăng.

/* Sort posts in wp_list_table by column in ascending or descending order. */
function custom_post_order($query){
    /* 
        Set post types.
        _builtin => true returns WordPress default post types. 
        _builtin => false returns custom registered post types. 
    */
    $post_types = get_post_types(array('_builtin' => true), 'names');
    /* The current post type. */
    $post_type = $query->get('post_type');
    /* Check post types. */
    if(in_array($post_type, $post_types)){
        /* Post Column: e.g. title */
        if($query->get('orderby') == ''){
            $query->set('orderby', 'title');
        }
        /* Post Order: ASC / DESC */
        if($query->get('order') == ''){
            $query->set('order', 'ASC');
        }
    }
}
if(is_admin()){
    add_action('pre_get_posts', 'custom_post_order');
}

Bạn có thể sử dụng một số điều kiện ví dụ này ...

/* Effects all post types in the array. */
if(in_array($post_type, $post_types)){

}

/* Effects only a specific post type in the array of post types. */
if(in_array($post_type, $post_types) && $post_type == 'your_post_type_name'){

}

/* Effects all post types in the array of post types, except a specific post type. */
if(in_array($post_type, $post_types) && $post_type != 'your_post_type_name'){

}

Nếu bạn muốn áp dụng cách sắp xếp này trên TẤT CẢ các loại bài đăng, bất kể chúng có "tích hợp" hay không ...

Thay đổi cai nay đi: $post_types = get_post_types(array('_builtin' => true), 'names');

Về điều này: $post_types = get_post_types('', 'names');


Có ổn không khi sử dụng trong chức năng thay vì kiểm tra trước khi hành độngif ( ! is_admin ) { return; }
urok93

Tôi cho rằng bạn có thể làm điều đó.
Michael Ecklund

Bạn phải thêm "return $ query;" trước khi kết thúc chức năng, nếu không thì điều này sẽ không hoạt động trong các phiên bản wordpress sau này.
Jobst

Tôi nghĩ rằng một plugin đang chạy chức năng này và ghi đè chức năng tùy chỉnh của tôi. Có một cái móc để đảm bảo rằng mã của tôi được chạy chứ không phải là các plugin không?
Thomas_Hoadley

7

Ah, nhấp vào cái tiêu đề nhỏ đó để chuyển đổi sắp xếp theo thứ tự abc ....

nhập mô tả hình ảnh ở đây


-1

Bạn luôn có thể thêm vào địa chỉ:

/edit.php?post_type=properies&orderby=date&order=desc


Tại sao đây post_typelà tùy chỉnh ở đây, hãy cho OP một câu trả lời chung chung .. chúng ta có thể sắp xếp tiêu đề theo thứ tự bằng cách nhấp vào cột Tiêu đề
bravokeyl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.