A veces no necesitas un editor de contenido para las plantillas de página específicas. Es útil para páginas de agradecimiento y otras páginas que tienen texto fijo y no necesitan contenido.
Instrucciones: Agrega el siguiente código al archivo functions.php de tu tema de WordPress.
Necesitas cambiar el nombre del archivo de plantilla en el código. Actualmente es submit.php pero puedes reemplazarlo con cualquier nombre de archivo.
add_action( 'admin_init', 'hide_editor' );
function hide_editor() {
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
if( !isset( $post_id ) ) return;
$template_file = get_post_meta($post_id, '_wp_page_template', true);
if($template_file == 'submit.php'){ // edit the template name
remove_post_type_support('page', 'editor');
}
}
También puede que disfrutes agregando CSS personalizado para el editor de WordPress.
no me funciona 🙁
Si la plantilla está en una carpeta, es posible que debas usar este patrón: if($template_file == ‘templates/template-example.php’){ // edita el nombre de la plantilla y el nombre de la carpeta para que coincidan con la ruta correcta
Además, asegúrate de actualizar la página en el navegador.
Lo acabo de probar con WordPress 6.8.1, funciona
Probablemente estás referenciando el archivo o la ruta incorrecta aquí
$template_file === ‘page-template/page-template.php’
Verifica doblemente usando el ID en lugar de la plantilla de página
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Lo acabo de probar y funciona en WordPress 6.8.1 – asegúrate de que estás referenciando la ruta y el archivo correctos. ($template_file === ‘template-page/template.php’)
También puedes probar por ID de página para ver si el fragmento funciona.
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
¿Por qué no usar:
get_the_ID();
en lugar de:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
get_the_ID(); necesita estar dentro del Loop de WordPress, mientras que este fragmento necesita funcionar en el administrador.
¡Me funcionó! Genial.
Lo agregué a mi colección de fragmentos.
Gracias. Me funcionó.
Gracias
Me salvaste, amigo. ¡Gracias un millón!
Solo para que sepas, mi página de administrador inicialmente no cargó después de poner el código anterior, debido a un error del servidor. Cambié esto:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ; if( !isset( $post_id ) ) return;
a esto:
si ( isset ( $_GET[‘post’] ) )
$post_id = $_GET[‘post’];
si no ( isset ( $_POST[‘post_ID’] ) )
$post_id = $_POST[‘post_ID’];
si( !isset ( $post_id ) || empty ( $post_id ) )
return;
…y solucionó el problema.
¡Gracias de nuevo!
-Chris
gracias, muy útil
esto no me funciona, obtengo los errores undefined index post y post_ID en el backend
¡Gracias por esto! ¡Tendré que probarlo!
Genial, me alegra que te guste.