Entfernen des TinyMCE-Editors für eine bestimmte Seitenvorlage

Ich suchte nach einer Möglichkeit, den TinyMCE Editor für eine bestimmte Seitenvorlage in einem Thema zu entfernen (in meinem Fall ist es page-home.php). Ich habe den folgenden Code gefunden, der funktioniert, aber ich habe mich gefragt, ob dies besser / besser erledigt werden könnte, vielleicht mit einigen der WordPress-functionen, um die ID der Seite zu finden …

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 == 'page-home.php'){ // template name here remove_post_type_support('page', 'editor'); } } add_action( 'admin_init', 'hide_editor' ); 

Solutions Collecting From Web of "Entfernen des TinyMCE-Editors für eine bestimmte Seitenvorlage"

Sie können versuchen, den load-page Hook anstelle von admin_init . Es sollte nur aufgerufen werden, wenn eine Seite bearbeitet wird, und dann sollten Sie in der Lage sein, die globale Variable $post

 function hide_editor() { global $post; $template_file = get_post_meta($post->ID, '_wp_page_template', true); if($template_file == 'page-home.php'){ // template name here remove_post_type_support('page', 'editor'); } } add_action( 'load-page', 'hide_editor' ); 

Das hat für mich funktioniert:

 function hide_editor() { if(isset($_REQUEST['post'])){ $post_id = $_REQUEST['post']; $template_file = get_post_meta($post_id, '_wp_page_template', true); if($template_file == 'page-home.php'){ // template name here remove_post_type_support('page', 'editor'); } } } add_action( 'load-post.php', 'hide_editor' );