Rimuovi Yoast SEO Post Metabox [chiuso]


7

Il plugin SEO Yoasts aggiunge un metabox alla schermata di modifica post. Sto cercando di rimuoverlo per gli utenti che non sono redattori o superiori.

Ho provato a fare una remove_meta_boxchiamata su admin_init, cercando di rimuovere l'azione su $ wpseo_metabox ma senza risultati.

Come rimuovo questo metabox senza richiedere l'intervento dell'utente (l'utente non dovrebbe mai sapere che il metabox esiste, quindi fare clic sulle opzioni dello schermo non è un'opzione)


Oserei chiederti perché vuoi rimuoverlo? C'è qualcosa in particolare che non vuoi che siano in grado di fare?
Joost de Valk,

2
Poiché esiste una classe di utenti che non ha idea di cosa sia il SEO, le cose devono essere semplificate per loro (più al punto che il cliente con il denaro lo ha richiesto). Qualcuno con i privati ​​a livello di editor modererà e approverà comunque il post, quindi è meglio se fanno la parte SEO piuttosto che gli utenti di livello inferiore che scrivono il contenuto iniziale.
Tom J Nowell

E questo dovrebbe davvero essere un commento, non una risposta, non vorrebbe che gli altri ti votassero
Tom J Nowell

Risposte:


16

On remove_meta_boxè una nota:

Poiché non è possibile rimuovere una meta box fino a quando non è stata aggiunta, è importante assicurarsi che la chiamata a remove_meta_box () avvenga nella sequenza corretta.

WordPress SEO aggiunge meta box in add_meta_boxesazione con priorità predefinita - 10, che vengono eseguite dopo admin_init, in modo da non rimuoverle. Invece devi agganciarti add_meta_boxes, ma con priorità inferiore - 11, 12, ecc.

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

Rimuovi metabox per account non amministratori:

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;
}

Non funziona sugli eventi da un plug-in del calendario degli eventi, ma ha funzionato comunque per i post regolari. Non sono sicuro che funzioni su tipi di post personalizzati.
Radmation,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.