無効な投稿形式。

WordPressで「無効な投稿形式( Notice: Array to string conversion in…)エラー」

固定ページにカテゴリーとタグを追加するコードをfunctions.phpに追加したところ、記事一覧画面でカテゴリーを絞り込んで表示したら

Notice: Array to string conversion in /パス省略/wp-admin/edit.php on line 303

というエラーが出て、そのままもう一度カテゴリーを選んで「絞り込み検索」をクリックしたら「無効な投稿形式。」という無情なエラー画面が表示されました。
原因が分からず、ネットの海でサーフィンしてこちらのありがたい島(記事)に辿り着きました。

こちらの記事を見つけるまで随分遠回りしたので忘備録です。
危うく固定ページにカテゴリー当てるの諦めてタクソノミーで組み直すところでした…。
本当に助かりました。

エラーが出たコード

/* 固定ページにカテゴリー追加 */
function add_categorie_to_pages(){ register_taxonomy_for_object_type('category', 'page');}
add_action('init','add_categorie_to_pages');
// Include page in Category archive
function add_page_to_category_archive( $query ) {
if ( $query->is_category == true && $query->is_main_query() ) { $query->set('post_type', array( 'post', 'page' ));}
}
add_action( 'pre_get_posts', 'add_page_to_category_archive' );

/* 固定ページにタグ追加 */
function add_tag_to_page() { register_taxonomy_for_object_type('post_tag', 'page');}
add_action('init', 'add_tag_to_page');
// Include page in Tag archive
function add_page_to_tag_archive( $obj ) {
 if ( is_tag() ) { $obj->query_vars['post_type'] = array( 'post', 'page' ); }
}
add_action( 'pre_get_posts', 'add_page_to_tag_archive' );

修正したコード

/* 固定ページにカテゴリー追加 */
function add_categorie_to_pages(){ register_taxonomy_for_object_type('category', 'page');}
add_action('init','add_categorie_to_pages');
// Include page in Category archive
function add_page_to_category_archive( $query ) {
if ( $query->is_category == true && $query->is_main_query() ) { $query->set('post_type', array( 'post', 'page' ));}
}
if ( ! is_admin() ) {
add_action( 'pre_get_posts', 'add_page_to_category_archive' );
}
/* 固定ページにタグ追加 */
function add_tag_to_page() { register_taxonomy_for_object_type('post_tag', 'page');}
add_action('init', 'add_tag_to_page');
// Include page in Tag archive
function add_page_to_tag_archive( $obj ) {
 if ( is_tag() ) { $obj->query_vars['post_type'] = array( 'post', 'page' ); }
}
if ( ! is_admin() ) {
add_action( 'pre_get_posts', 'add_page_to_tag_archive' );
}

Comments

コメントを残す