WordPress 4.2では、どのページがフロントページで、どのページがブログ(Latest Posts)であるかをラベル付けするNice機能が含まれていました。残念ながら、最新の投稿を表示するために割り当てられているページのデフォルトエディタも削除され、代わりに次のメッセージが表示されます。
現在、最新の投稿を表示しているページを編集しています。
ブログページに最近の投稿の上に表示するコンテンツを割り当てます。
get_post_field( 'post_content', get_option( 'page_for_posts' ) );
個別のメタボックスを追加せずに、デフォルトのWPエディタを管理パネルのブログページに再度追加する方法を教えてください。
WordPress 4.2では、何らかの理由で最新の投稿を表示するために割り当てられていたページで、エディタが削除されました。以下の関数( ここで見つけたオリジナルの解決策 by crgeary )はエディタを再追加して通知を削除します。
現在、最新の投稿を表示しているページを編集しています。
これは、使用されているフックに関する情報です。
edit_form_after_title
- 上記の管理通知を削除するために使用されます。add_post_type_support
- エディタのサポートを最新の投稿ページに戻すために使用されます。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以降、これはエディタの再起動に失敗します。アクション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 );
}