Pour proposer une interface de gestion toujours plus clair, il est primordial de retirer l'affichage de l'éditeur de WordPress dans les articles et pages où il n'est pas utilisé.
C'est d'autant plus vrai lorsqu'on conçoit un site WordPress sur-mesure. Le but étant d'éviter à votre client ou à l'éditeur du site de voir des champs d'édition superflus qui l'induisent en erreur et occupent de la place dans l'écran d'édition.
Je propose dans cet article 2 méthodes selon l'objectif souhaité. Dans tout les cas, il vous faudra éditer le fichier functions.php de votre thème.
- Vous avez besoin de désactiver l'affichage de l'éditeur au cas par cas. C'est à dire pour certaines pages seulement. Ce code vous permettra de désigner les Pages concernées selon leur ID ou le modèle de page (template) qui leur est affecté.
- Vous ne faites pas dans le détails et le but est de désactiver l'éditeur sur toutes les Pages, tous les Article ou tout un Custom Post Type
1- Désactiver l'éditeur WordPress selon le template et/ou l'ID d'une Page
➡️ Ajuster les lignes 5,6 et 10 à votre gré. Copier/coller le reste tel quel.
function tibow_disable_editor( $id = false ) {
//Ici on exclue par Template / Modèle de page
$excluded_templates = array(
'templates/mon-template1.php',
'templates/mon-template2.php',
);
//Ici on exclue par ID de Page
$excluded_ids = array(
11, 12, 13,
);
if( empty( $id ) )
return false;
$id = intval( $id );
$template = get_page_template_slug( $id );
return in_array( $id, $excluded_ids ) || in_array( $template, $excluded_templates );
}
/**
* Désactive l'éditeur Gutenberg
**/
function tibow_disable_gutenberg( $can_edit, $post_type ) {
if( ! ( is_admin() && !empty( $_GET['post'] ) ) )
return $can_edit;
if( tibow_disable_editor( $_GET['post'] ) )
$can_edit = false;
return $can_edit;
}
add_filter( 'gutenberg_can_edit_post_type', 'tibow_disable_gutenberg', 10, 2 );
add_filter( 'use_block_editor_for_post_type', 'tibow_disable_gutenberg', 10, 2 );
/**
* Désactive l'éditeur classique
**/
function tibow_disable_classic_editor() {
$screen = get_current_screen();
if( 'page' !== $screen->id || ! isset( $_GET['post']) )
return;
if( tibow_disable_editor( $_GET['post'] ) ) {
remove_post_type_support( 'page', 'editor' );
}
}
add_action( 'admin_head', 'tibow_disable_classic_editor' );
2- Désactiver l'éditeur WordPress selon le post_type
Le code suivant est utile si vous souhaitez :
- Désactiver l'éditeur pour toutes les Pages
- Désactiver l'éditeur pour tous les Articles
- Désactiver l'éditeur pour tout un post_type
➡️ Ajuster les lignes 5,6 et 7 à votre gré. Copier/coller le reste tel quel.
/**
* Désactive l'éditeur Gutenberg sur tout une type de contenu
**/
function tibow_remove_editor_from_post_type() {
remove_post_type_support( 'post', 'editor' ); //Retire l'éditeur de tous les Articles
remove_post_type_support( 'page', 'editor' ); //Retire l'éditeur de toutes les Pages
remove_post_type_support( 'portfolio', 'editor' ); //Retire l'éditeur de toutes les custom post type dont le slug est 'portfolio'
}
add_action('init', 'tibow_remove_editor_from_post_type');
WordPress dispose d'une liste de fonctionnalités que l'on peut désactiver selon le post_type
title
pour le champs titre principal.editor
pour l'éditeur WordPress.author
pour le sélecteur d'auteur.thumbnail
pour l'image mise en avant.excerpt
pour le champs extrait.trackbacks
pour les rétroliens (trackbacks) si le contenu fait l'objet d'un lien externe.custom-fields
pour la boîte méta des champs personnalisés intégrés à WordPress.comments
pour les commentaires.revisions
pour les révisions.page-attributes
pour le template/modèle de page et l'ordre du menu (hiérarchique uniquement).post-formats
pour les formats.
Voici un exemple de ce que l'on peut également faire :
/**
* Désactive l'Image mise en avant sur toutes les Pages
**/
function tibow_remove_editor_from_post_type() {
remove_post_type_support( 'page', 'thumbnail' );
}
add_action('init', 'tibow_remove_editor_from_post_type');
Besoin d'un expert pour améliorer les performances de votre site internet ?
Contactez-moi pour en discuter ensemble !
Recevez un audit et une estimation gratuite des optimisations à apporter à votre site web.
Laisser un commentaire