我正在尝试(尽管其他人之前发表了很多帖子,但都失败了)更容易/更可靠地从该页面中删除内容编辑器。
我可以使用页面ID将其删除:
add_action( \'admin_head\', \'hide_editor\' );
function hide_editor() {
if( isset( $_GET[\'post\'] ) && $_GET[\'post\'] == \'7\' ) // \'7\' is the ID of the page ID.
remove_post_type_support( \'page\', \'editor\' );
}
但我更愿意根据使用的模板删除它-在本例中,默认的“home”。php’。
我尝试了各种条件,包括“get\\u page\\u template”和“is\\u page\\u template”的变体,但都不起作用。。。我怀疑是因为页面使用的是默认模板,而不是选定的模板。
最合适的回答,由SO网友:Jacob Peattie 整理而成
WordPress在默认情况下已经做到了这一点,只要该页面没有任何现有内容。此外,它还添加了一个通知,解释为什么编辑器不在那里。
以下是WordPress Core中已有的行:
if ( $post_ID == get_option( \'page_for_posts\' ) && empty( $post->post_content ) ) {
add_action( \'edit_form_after_title\', \'_wp_posts_page_notice\' );
remove_post_type_support( $post_type, \'editor\' );
}
此处第74-76行:
https://github.com/WordPress/WordPress/blob/master/wp-admin/edit-form-advanced.php