サイト制作の合同会社ジリキ

  • HOME
  • >
  • Blog
  • >
  • WordPress
  • >
  • WordPressで「無効な投稿形式」と出て、edit.phpにエラーが出ている場合の解消方法

WordPressで「無効な投稿形式」と出て、edit.phpにエラーが出ている場合の解消方法

WordPressで投稿をカテゴリーで絞り込もうとすると出ることがある「無効な投稿形式」の文言。文言が出ずにPHPエラーでedit.phpにエラーが有るよ、と出たり投稿がありません、と出る場合の対処方法です。

これが出る前提としてカスタム投稿タイプにカテゴリーを振り分けるカスタマイズを入れていたり、固定ページにカテゴリーをつけるカスタマイズをしている場合に起きがちです。

例えば以下のコードは固定ページに投稿と同じカテゴリーをつけるカスタマイズです。

add_action('init','add_categories_for_pages');
function add_categories_for_pages(){
   register_taxonomy_for_object_type('category', 'page');
}
add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' );
function nobita_merge_page_categories_at_category_archive( $query ) {

if ( $query->is_category== true && $query->is_main_query() ) {
$query->set('post_type', array( 'post', 'page', 'nav_menu_item'));
}
}

これだとエラーが出ますんで、

if ( ! is_admin() ) {//無効な投稿~ が出るのを消す
add_action('init','add_categories_for_pages');
function add_categories_for_pages(){
   register_taxonomy_for_object_type('category', 'page');
}
add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' );
function nobita_merge_page_categories_at_category_archive( $query ) {

if ( $query->is_category== true && $query->is_main_query() ) {
$query->set('post_type', array( 'post', 'page', 'nav_menu_item'));
}
}
}//ここまで

こうすることで解消します。

if ( ! is_admin() ) {
}

このコードで問題箇所をくくってみると良いでしょう。