-
-
Save ramseyp/4060095 to your computer and use it in GitHub Desktop.
<?php | |
/** | |
* Hide editor on specific pages. | |
* | |
*/ | |
add_action( 'admin_init', 'hide_editor' ); | |
function hide_editor() { | |
// Get the Post ID. | |
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ; | |
if( !isset( $post_id ) ) return; | |
// Hide the editor on the page titled 'Homepage' | |
$homepgname = get_the_title($post_id); | |
if($homepgname == 'Homepage'){ | |
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 == 'my-page-template.php'){ // the filename of the page template | |
remove_post_type_support('page', 'editor'); | |
} | |
} |
Thanks to both of you, really helped me too.
Thanks! This seemed to work well for me, from the combined comments above:
add_action( 'admin_head', 'hide_editor' );
function hide_editor() {
$template_file = $template_file = basename( get_page_template() );
if($template_file == 'template.php'){ // template
remove_post_type_support('page', 'editor');
}
}
It seems simpler, and I have not seen any issues.
@jordanboston you have written $template file twice on line 3:
$template_file = $template_file = basename( get_page_template() );
Is there a way to move it below other fields on the page? I'm using Advanced Custom Fields and would like to move the default content area below the ACF fields.
Very helpful!
@jordanboston - that worked perfectly - thank you.
Thanks to @ramseyp, @jordanboston and @WebAssembler - works great.
Thanks bro!
Nice one thanks! I needed to add remove_post_type_support('post', 'editor');
to remove from posts also FYI.
Make sure you check to see if you're on the right admin screen by using get_current_screen()
.
What if the template files are in a folder like:
page-sections/page-hero-banner.php
I tried this to no avail:
/**
* Hide editor on specific pages.
*
*/
add_action( 'admin_init', 'hide_editor' );
function hide_editor() {
// Get the Post ID.
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
if( !isset( $post_id ) ) return;
// 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 == 'page-section/page-event-feature.php'){ // the filename of the page template
remove_post_type_support('page', 'editor');
}
}
Very helpful. Thanks so much!
Thanks bro, really useful 👍