it-swarm-vi.tech

Đặt tùy chọn màn hình quản trị mặc định & thứ tự Metabox

Tôi đang tuyệt vọng tìm kiếm một số cách (bất kỳ cách nào) để đặt "tùy chọn màn hình" mặc định và thứ tự metabox thông qua tệp tin.php. Có ai có bất kỳ trợ giúp họ có thể cung cấp ở đây?

28
NetConstructor.com

Đặt thứ tự các hộp meta trên các trang chỉnh sửa bài

Bạn sẽ cần phải loại bỏ các hộp meta và thêm chúng một lần nữa theo thứ tự bạn muốn.

Để tắt hộp meta: (tùy chỉnh theo nhu cầu của bạn, hãy xem id metabox trong mã html để biết tên nào bạn nên sử dụng làm tham số đầu tiên của các hàm)

function my_remove_meta_boxes() {

    remove_meta_box('postcustom', 'post', 'core');

    remove_meta_box('commentsdiv', 'post', 'core');

    ...
}

add_action( 'admin_menu', 'my_remove_meta_boxes' );

Sau khi xóa chúng, bạn có thể sử dụng hàm add_meta_box để thêm chúng vào các vị trí mới: http://codex.wordpress.org/Function_Reference/add_meta_box . Thứ tự của các hộp meta phụ thuộc vào thứ tự bạn gọi hàm add_meta_box. Ví dụ: với đoạn mã sau, hộp meta nhận xét sẽ ở trước hộp meta trường tùy chỉnh.

function my_add_meta_boxes( $post_type, $post ) {
    if ( ('publish' == $post->post_status || 'private' == $post->post_status) && post_type_supports($post_type, 'comments') )
        add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');

    if ( post_type_supports($post_type, 'custom-fields') )
        add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core');

    ...
}

add_action( 'add_meta_boxes', 'my_add_meta_boxes' );

Bạn có thể muốn xem tệp wp-admin/edit-form-advanced.php

Đặt tiêu đề cột nào hiển thị trên trang danh sách bài đăng

Bạn cần sử dụng bộ lọc quản lý _ {$ post_type} _posts_columns. Ví dụ: đoạn mã sau sẽ xóa cột nhận xét.

function my_remove_columns( $posts_columns ) {
    unset( $posts_columns['comments'] );

    return $posts_columns;
}

add_filter( 'manage_post_posts_columns', 'my_remove_columns' );

Đặt kết quả mặc định sẽ được hiển thị trên trang danh sách bài đăng

Sử dụng các bộ lọc 'chỉnh sửa _ {$ post_type} _per_page' và 'edit_posts_per_page'.

function my_edit_post_per_page( $per_page, $post_type ) {

    $edit_per_page = 'edit_' . $post_type . '_per_page';
    $per_page = (int) get_user_option( $edit_per_page );
    if ( empty( $per_page ) || $per_page < 1 )
        $per_page = 1;

    return $per_page;
}

add_filter( 'edit_posts_per_page', 'my_edit_post_per_page' );

Để nhắm mục tiêu một loại bài cụ thể:

  • sử dụng add_filter( 'edit_{post type}_per_page', 'my_edit_post_per_page' );, ví dụ: add_filter( 'edit_post_per_page', 'my_edit_post_per_page' ); cho bài viết, add_filter( 'edit_page_per_page', 'my_edit_post_per_page' ); cho các trang.

  • hoặc sử dụng một điều kiện trong chức năng của bạn. ví dụ.:

    chức năng my_edit_post_per_page ($ per_page, $ post_type) {

    if( $post_type == 'post' ) {
        $edit_per_page = 'edit_' . $post_type . '_per_page';
        $per_page = (int) get_user_option( $edit_per_page );
        if ( empty( $per_page ) || $per_page < 1 )
            $per_page = 1;
    }
    
    
    return $per_page;
    
23
sorich87