Thêm cột tùy chỉnh vào loại bài tùy chỉnh


27

Tôi đã làm điều này trước đây nhưng tôi đã quên tên của cái móc và không thể tìm thấy nó ở bất cứ đâu ...

Những gì tôi đang cố gắng làm là thêm một số cột tùy chỉnh trong danh sách loại bài đăng tùy chỉnh trong quản trị viên.

Ví dụ: trong quản trị viên, nhấp vào bài viết , tôi muốn thêm cột tùy chỉnh ở đó.


tôi đã hỏi (và trả lời) cùng một câu hỏi (bao gồm cả cách sắp xếp chúng): wordpress.stackexchange.com/questions/253680/ Kẻ
beta

Câu trả lời:


57

Các móc để tạo các cột tùy chỉnh và dữ liệu liên quan của chúng cho một loại bài tùy chỉnh manage_{$post_type}_posts_columnsmanage_{$post_type}_posts_custom_columntương ứng, đó {$post_type}là tên của loại bài tùy chỉnh.

Ví dụ này từ tài liệu loại bỏ cột tác giả và thêm cột phân loại và dữ liệu meta:

// Add the custom columns to the book post type:
add_filter( 'manage_book_posts_columns', 'set_custom_edit_book_columns' );
function set_custom_edit_book_columns($columns) {
    unset( $columns['author'] );
    $columns['book_author'] = __( 'Author', 'your_text_domain' );
    $columns['publisher'] = __( 'Publisher', 'your_text_domain' );

    return $columns;
}

// Add the data to the custom columns for the book post type:
add_action( 'manage_book_posts_custom_column' , 'custom_book_column', 10, 2 );
function custom_book_column( $column, $post_id ) {
    switch ( $column ) {

        case 'book_author' :
            $terms = get_the_term_list( $post_id , 'book_author' , '' , ',' , '' );
            if ( is_string( $terms ) )
                echo $terms;
            else
                _e( 'Unable to get author(s)', 'your_text_domain' );
            break;

        case 'publisher' :
            echo get_post_meta( $post_id , 'publisher' , true ); 
            break;

    }
}

1
Cảm ơn bạn cho cái móc này !!! Thật là tuyệt vời !! Không có tài liệu rõ ràng về stackoverflow !!! : D Chúc mừng người bạn đời
Rodrigo Zuluaga

không có tùy chọn nào để đặt số cột? như column_index[2]. Bởi vì custom_column xuất hiện ở cuối cột.
Dilip Gupta

Các cột @DilipGupta $ là một mảng, bạn có thể sắp xếp lại trước khi trả lại
Fogx

0

Tôi không chắc liệu nó có mặc định dữ liệu meta tùy chỉnh mà bạn muốn hiển thị dưới dạng cột hay không, nhưng bạn có thể xem xét sử dụng plugin miễn phí này cho phép bạn thêm cột để hiển thị các trường tùy chỉnh. https://wordpress.org/plugins/codepress-admin-columns/

Phiên bản pro thậm chí cho phép bạn thêm tính năng lọc, sắp xếp và chỉnh sửa nội tuyến vào các cột đó.


KHÔNG ĐƯỢC DÙNG! Sẽ phá vỡ trang web của bạn: PHP Lỗi nghiêm trọng: Không thể redeclare AC () (đã được khai báo trước đó trong [đã xử lý lại] \ wp-content \\ Themes \ [đã xử lý lại] \\ plugins \\ codepress-admin-Cột \\ api.php trên dòng 9
Peter Kionga-Kamau

@ PeterKionga-Kamau đây là vấn đề tương thích với chủ đề cụ thể của bạn. Lỗi bạn đã đăng sẽ không xuất hiện với chủ đề WP mặc định (chẳng hạn như hai mươi gói); Tôi cũng sử dụng plugin với Chủ đề Divi và thấy nó khá hữu ích
Philipp

Không có một số loại không gian tên hoặc sử dụng tên hàm ít chung chung có thể được sử dụng để tránh điều này?
Peter Kionga-Kamau
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.