A volte non è necessario un editor di contenuti per specifici modelli di pagina. È utile per le pagine di ringraziamento e altre pagine che hanno un testo fisso e potrebbero non necessitare di alcun contenuto.
Istruzioni: Aggiungi il seguente codice al file functions.php del tuo tema WordPress.
Devi cambiare il nome del file del modello nel codice. Attualmente è submit.php ma puoi sostituirlo con qualsiasi nome di file.
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');
}
}
Potresti anche voler aggiungere CSS personalizzato per l'editor di WordPress.
non funziona per me 🙁
Se il modello si trova in una cartella, potresti dover usare questo schema: if($template_file == ‘templates/template-example.php’){ // modifica il nome del modello e il nome della cartella per corrispondere al percorso corretto
Inoltre, assicurati di aggiornare la pagina nel browser.
Appena testato con WordPress 6.8.1, funziona
Probabilmente stai facendo riferimento al file o al percorso sbagliato qui
$template_file === ‘page-template/page-template.php’
Verifica doppiamente usando l'ID invece del modello di pagina
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Appena testato e funziona su WordPress 6.8.1 – assicurati di fare riferimento al percorso e al file corretti. ($template_file === ‘template-page/template.php’)
Puoi anche testare per ID di pagina per vedere se lo snippet funziona.
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Perché non usare:
get_the_ID();
invece di:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
get_the_ID(); deve essere all'interno del Loop di WordPress, mentre questo snippet deve funzionare nell'area admin.
Ha funzionato per me! Ottima roba.
Aggiunto alla mia raccolta di snippet.
Grazie. Ha funzionato per me.
Grazie
Mi hai salvato, amico mio. Grazie mille!
Solo per informazione, la mia pagina admin inizialmente non si caricava con un errore del server dopo aver inserito il codice sopra. Ho cambiato questo:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ; if( !isset( $post_id ) ) return;
in questo:
if ( isset ( $_GET[‘post’] ) ) $post_id = $_GET[‘post’]; else if ( isset ( $_POST[‘post_ID’] ) ) $post_id = $_POST[‘post_ID’];
if( !isset ( $post_id ) || empty ( $post_id ) ) return;
...e ha risolto il problema.
Grazie ancora!
-Chris
grazie, molto utile
questo non funziona per me, ottengo gli errori undefined index post e post_ID nel backend
Grazie per questo. Dovrò provarlo!
Fantastico, sono contento che ti piaccia.