Est-ce possible de faire quelque chose?
Dans certaines pages, j'utilise un plugin de boîte personnalisé et je n'ai pas besoin d'afficher la boîte de contenu sur certaines de ces pages. Est-il possible de le masquer par modèle de page? Ou ID si le modèle n'est pas possible?
J'ai fini par utiliser la réponse de userabuser avec une petite modification, car Global $ post ne semble pas exister sur init. Vous pouvez plutôt simplement interroger post
dans la chaîne de requête, comme suit:
function remove_editor() {
if (isset($_GET['post'])) {
$id = $_GET['post'];
$template = get_post_meta($id, '_wp_page_template', true);
if($template == 'template_name.php'){
remove_post_type_support( 'page', 'editor' );
}
}
}
add_action('init', 'remove_editor');
ajoutez ceci à functions.php
add_action('init', 'remove_content_editor');
function remove_content_editor() {
remove_post_type_support( 'posttype', 'editor' );
}
Remplacez posttype par le nom du type de post. Cela supprimera l'éditeur de contenu des pages de ce type de message.
Pour supprimer l'éditeur basé sur le modèle, vous pouvez faire quelque chose comme:
add_action('init', 'remove_editor');
function remove_editor() {
global $post;
$template = get_post_meta($post->ID, '_wp_page_template', true);
//change 'page' to whatever post type you want to apply this to.
if($template == 'template_name.php'){
remove_post_type_support( 'page', 'editor' );
}
}
Le code suivant fonctionne pour moi. (soit des pages spécifiques ou un modèle)
add_action('admin_init', 'hide_editor');
function hide_editor() {
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];
if (!isset($post_id))
return;
// Hide the editor on the page titled 'Press and services' pages
$hide_page = get_the_title($post_id);
if ($hide_page == 'press') {
remove_post_type_support('page', 'editor');
}
if ($hide_page == 'Services') {
remove_post_type_support('page', 'editor');
}
// Hide the editor on a page with a specific page template
// Get the name of the Page Template file.
$template_file = get_post_meta($post_id, '_wp_page_template', true);
//---
if ($template_file == 'template-press.php') { // the filename of the page template
remove_post_type_support('page', 'editor');
}
if ($template_file == 'template-service.php') { // the filename of the page template
remove_post_type_support('page', 'editor');
}
}