Xóa bài viết Yoast SEO Metabox [đã đóng]


7

Plugin Yoasts SEO thêm một metabox vào màn hình chỉnh sửa bài đăng. Tôi đang cố gắng xóa cái này cho những người dùng không phải là biên tập viên trở lên.

Tôi đã thử thực hiện remove_meta_boxcuộc gọi trên admin_init, cố gắng xóa hành động trên $ wpseo_metabox nhưng không có kết quả.

Làm cách nào để loại bỏ metabox này mà không cần sự can thiệp của người dùng (người dùng không bao giờ nên biết metabox tồn tại, vì vậy nhấp vào tùy chọn màn hình không phải là một tùy chọn)


Dám tôi hỏi tại sao bạn muốn loại bỏ nó? Có điều gì cụ thể mà bạn không muốn họ có thể làm không?
Joost de Valk

2
Bởi vì có một lớp người dùng không biết SEO là gì, mọi thứ cần được đơn giản hóa cho họ (hơn nữa là khách hàng có tiền mặt yêu cầu). Một số người có quyền riêng tư ở trình soạn thảo sẽ kiểm duyệt và phê duyệt bài đăng vì vậy sẽ tốt hơn nếu họ thực hiện phần SEO thay vì người dùng cấp dưới viết nội dung ban đầu.
Tom J Nowell

Và đây thực sự nên là một bình luận không phải là một câu trả lời, sẽ không muốn người khác đánh giá thấp bạn
Tom J Nowell

Câu trả lời:


16

Trên remove_meta_boxlà một lưu ý:

Vì bạn không thể xóa hộp meta cho đến khi được thêm vào, điều quan trọng là đảm bảo rằng lệnh gọi remove_meta_box () của bạn diễn ra theo đúng trình tự.

WordPress SEO thêm các hộp meta add_meta_boxeshoạt động với mức độ ưu tiên mặc định - 10, chạy sau admin_init, do đó sẽ không xóa chúng. Thay vào đó, bạn cần nối vào add_meta_boxes, nhưng với mức độ ưu tiên thấp hơn - 11, 12, v.v.

function mamaduka_remove_metabox() {
    if ( ! current_user_can( 'edit_others_posts' ) )
        remove_meta_box( 'wpseo_meta', 'post', 'normal' );
}
add_action( 'add_meta_boxes', 'mamaduka_remove_metabox', 11 );

2

Xóa metaboxes cho tài khoản không phải quản trị viên:

add_filter ( 'manage_edit-post_columns', 'rkv_remove_columns' );
function rkv_remove_columns( $columns ) {

   if ( ! current_user_can('administrator') ) { 

    unset( $columns['wpseo-score'] );
    unset( $columns['wpseo-title'] );
    unset( $columns['wpseo-metadesc'] );
    unset( $columns['wpseo-focuskw'] );
}
    return $columns;
}

Không hoạt động trên các sự kiện từ plugin lịch sự kiện - tuy nhiên điều này đã làm việc cho các bài đăng thông thường. Tôi không chắc chắn nếu điều này hoạt động trên các loại bài tùy chỉnh.
Phóng xạ
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.