Entfernen Sie die Yoast SEO Post Metabox [geschlossen]

7

Yoasts SEO-Plugin fügt dem Post-Edit-Bildschirm eine Metabox hinzu. Ich versuche dies für Benutzer zu entfernen, die keine Editoren oder höher sind.

Ich habe versucht, remove_meta_boxadmin_init anzurufen und die Aktion auf $ wpseo_metabox zu entfernen, aber ohne Erfolg.

Wie entferne ich diese Metabox, ohne dass ein Benutzereingriff erforderlich ist (der Benutzer sollte niemals wissen, dass die Metabox vorhanden ist, daher ist das Klicken auf Bildschirmoptionen keine Option).

Tom J Nowell
quelle
Darf ich fragen, warum Sie es entfernen möchten? Gibt es etwas Spezielles, das sie nicht können sollen?
Joost de Valk
2
Da es eine Klasse von Benutzern gibt, die keine Ahnung haben, was SEO ist, müssen die Dinge für sie vereinfacht werden (mehr bis zu dem Punkt, an dem der Kunde mit dem Geld darum gebeten hat). Jemand mit Privilegien auf Editorebene wird den Beitrag sowieso moderieren und genehmigen, daher ist es besser, wenn er den SEO-Teil erledigt, als die Benutzer der untersten Ebene, die den ursprünglichen Inhalt schreiben.
Tom J Nowell
Und dies sollte wirklich ein Kommentar sein, keine Antwort, ich möchte nicht, dass andere Leute Sie ablehnen
Tom J Nowell

Antworten:

16

Ein remove_meta_boxist ein Hinweis:

Da Sie eine Meta-Box erst entfernen können, wenn sie hinzugefügt wurde, müssen Sie sicherstellen, dass der Aufruf von remove_meta_box () in der richtigen Reihenfolge erfolgt.

WordPress SEO fügt Meta-Boxen für add_meta_boxesAktionen mit Standardpriorität hinzu - 10, die danach ausgeführt werden admin_init, damit sie nicht entfernt werden. Stattdessen müssen Sie sich einhängen add_meta_boxes, aber mit niedrigerer Priorität - 11, 12 usw.

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 );
Mamaduka
quelle
2

Entfernen Sie Metaboxen für Nicht-Administratorkonten:

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;
}
Amsbundem
quelle
Funktioniert nicht bei Ereignissen aus einem Ereigniskalender-Plugin - dies funktionierte jedoch für reguläre Beiträge. Ich bin nicht sicher, ob dies bei benutzerdefinierten Beitragstypen funktioniert.
Radmation