我在寻找一种方法来删除主题中特定页面模板的TinyMCE编辑器(在我的例子中是page home.php)。我发现下面的代码很有效,但是,我想知道是否可以用一种更好/更整洁的方式来完成,也许可以使用WordPress的一些内置函数来查找页面的ID。。。
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\' );
SO网友:Mark Kaplun
你可以试着load-page
钩子代替admin_init
. 它应该仅在编辑页面时调用,然后您应该能够使用全局$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\' );