Tùy chỉnh chỉnh sửa màn hình bài viết cho các loại bài tùy chỉnh?


15

Cách tốt nhất để tùy chỉnh hoàn toàn màn hình Quản trị viên Đăng bài cho một loại bài đăng tùy chỉnh cụ thể là gì?

Tôi đã tùy chỉnh nó ở một mức độ nào đó khi tạo loại bài đăng tùy chỉnh - thêm các trường bổ sung, v.v., nhưng tôi muốn xóa nhiều yếu tố như permalinks, xem trước bài đăng, vô hiệu hóa chỉnh sửa nhanh, v.v.

Câu trả lời:


16

Một số câu hỏi được trả lời tại đây: Đặt tùy chọn Màn hình quản trị mặc định & Đặt hàng Metabox

Để loại bỏ metabox permalink:

function my_remove_meta_boxes() {
    remove_meta_box('slugdiv', 'my-post-type', 'core');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

Ngoài ra, bạn sẽ phải ẩn # edit-slug-box với css hoặc javascript. xem: Đang tải Tập lệnh bên ngoài trong Quản trị viên nhưng CHỈ cho Loại bài đăng cụ thể?

Để tắt chỉnh sửa nhanh:

function my_remove_actions( $actions, $post ) {
    if( $post->post_type == 'my-post-type' ) {
        unset( $actions['inline hide-if-no-js'] );
    }
    return $actions;
}
add_filter( 'post_row_actions', 'my_remove_actions', 10, 2 );

Để thay đổi liên kết xem trước, bạn có thể sử dụng bộ lọc 'preview_post_link', nhưng nó chỉ hoạt động khi bài đăng chưa được xuất bản. Vì vậy, giải pháp sẽ là xóa hộp meta gửi và thêm hộp sửa đổi của riêng bạn:

function my_replace_submit_meta_box() {
    remove_meta_box('submitdiv', 'my-post-type', 'core');
    add_meta_box('submitdiv', __('Publish'), 'custom_post_submit_meta_box', 'my-post-type', 'side', 'core');
}
add_action( 'admin_menu', 'my_replace_submit_meta_box' );

function custom_post_submit_meta_box() { // a modified version of post_submit_meta_box() (wp-admin/includes/meta-boxes.php, line 12)
    ...
}

Cám ơn rất nhiều. Tìm kiếm câu trả lời cho điều này từ lâu! Ngoài ra, có cách nào để thay đổi nút Xem trước trong hộp Xuất bản liên kết đến không? Tôi muốn liên kết với mysite.com/video?id='id của bài đăng 'hoặc mở hộp đèn với trình phát video
fxfuture

Xin chào lần nữa - thực sự tôi không thể lấy một trong những đoạn mã bạn cung cấp để làm việc. Metabox permalink chỉ vô hiệu hóa việc lưu các thay đổi vào permalink thay vì ẩn nó và tôi không thể vô hiệu hóa liên kết Chỉnh sửa nhanh. Có ý kiến ​​gì không?
fxfuture

Tôi chỉnh sửa câu trả lời của tôi. Tôi vừa thử nghiệm quảng cáo mã chỉnh sửa nhanh nó hoạt động. Bạn đang nói về liên kết chỉnh sửa nhanh bên dưới tên bài đăng trên: wp-admin / edit.php? Post_type = sis_cference, phải không?
sorich87

Tuyệt vời, tôi sẽ xem thông tin bổ sung mà bạn đã đăng. Tôi đã có thể ẩn chỉnh sửa nhanh bằng cách thay đổi 'phân cấp' => sai trong loại bài đăng tùy chỉnh của mình. Dường như không tạo ra sự khác biệt khi tôi đang sử dụng plugin Post Type Order để đặt hàng. Cảm ơn!
fxfuture

Thay thế hộp meta gửi làm việc hoàn hảo! Nó thực sự phải bao gồm $ post giữa các dấu ngoặc trong hàm của bạn - tức là custom_post_submit_meta_box ($ post). Vì vậy, cả ba đã được sắp xếp :) Tôi muốn thực hiện thêm một chút tùy chỉnh cho cả danh sách bài đăng và chỉnh sửa màn hình bài đăng - bạn có biết hướng dẫn tham khảo chi tiết cách xóa / thay thế tất cả các yếu tố khác nhau không?
fxfuture
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.