在WordPress 4.2中,无论出于何种原因,在指定显示最新帖子的页面上,都会删除编辑器。以下函数(original solution found here 通过crgeary ) 将重新添加编辑器并删除通知:
您当前正在编辑显示最新帖子的页面。
以下是有关所用挂钩的一些信息:
if( ! function_exists( \'fix_no_editor_on_posts_page\' ) ) {
/**
* Add the wp-editor back into WordPress after it was removed in 4.2.2.
*
* @param Object $post
* @return void
*/
function fix_no_editor_on_posts_page( $post ) {
if( isset( $post ) && $post->ID != get_option(\'page_for_posts\') ) {
return;
}
remove_action( \'edit_form_after_title\', \'_wp_posts_page_notice\' );
add_post_type_support( \'page\', \'editor\' );
}
add_action( \'edit_form_after_title\', \'fix_no_editor_on_posts_page\', 0 );
}
自WordPress 4.9.6起,编辑WordPress 4.9将无法重新安装编辑器。看起来好像
edit_form_after_title
还没来得及打电话。在中删除编辑器后,调用了最早的未弃用钩子
edit-form-advanced.php
, 看起来还可以。
除了钩子的变化外,参数的数量也发生了变化。
if( ! function_exists( \'fix_no_editor_on_posts_page\' ) ) {
function fix_no_editor_on_posts_page( $post_type, $post ) {
if( isset( $post ) && $post->ID != get_option(\'page_for_posts\') ) {
return;
}
remove_action( \'edit_form_after_title\', \'_wp_posts_page_notice\' );
add_post_type_support( \'page\', \'editor\' );
}
add_action( \'add_meta_boxes\', \'fix_no_editor_on_posts_page\', 0, 2 );
}