まず、状況を整理したいのですが……
ご希望としては、挙げていただいた過去のトピックと同じく、「カテゴリーアーカイブに通常の投稿とカスタム投稿タイプ(item)の記事を混在させて表示させたい」で合っていますでしょうか。
その上で、過去トピックを参考にしてどのようなコードをどこに書きましたか?
すいません、状況がわからないですよね(^_^;)
まず、希望としては「カテゴリーアーカイブに通常の投稿とカスタム投稿タイプ(item)の記事を混在、もしくは(item)のみ表示」です。
コードはfunction.phpに
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_category) {
$query->set('post_type', array( 'post', 'item' ) );
}
}
}
add_action('pre_get_posts','search_filter');
を加えました。
これで表示されなかったので、違うサイトを参考に
category.phpの
<?php if( have_posts() ): while( have_posts() ): the_post(); ?>
の上に
<?php
global $wp_query;
query_posts(array_merge(
array( ‘post_type’ => array(‘post’,’カスタム投稿タイプ名’) ),
$wp_query->query
));
?>
を記載してみたのですが無理でした…
よろしくお願いします。
コードはfunction.phpに
functions.php がコードを書き加えるべきファイルの名前です。コードは前者でだいじょうぶだと思います。
mimosafaさん「s」はちゃんと付いてます。記載ミスです(^_^;)
コードはfunctions.phpに書いてます。
投稿タイプ item
のアーカイブ(http://example.com/item OR http://example.com/?post_type=item )は問題なく表示されますか?
また、通常の投稿と共有しているのはカスタムタクソノミーではなくカテゴリーで間違いはないでしょうか
http://example.com/itemは404が表示されます。
http://example.com/?post_type=itemは問題なく表示されます。
カスタム投稿タイプは
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type(
'item', /* 投稿タイプのslug */
array(
'labels' => array(
'name' => __( '商品(item)' ),
'singular_name' => __( '商品(item)' )
),
'public' => true,
'menu_position' => 5,
'supports' => array('title','editor','thumbnail','custom-fields','excerpt','author','trackbacks','comments','revisions','page-attributes') /* いろんな機能を有効化 */
)
);
register_taxonomy_for_object_type('category', 'item');
register_taxonomy_for_object_type('post_tag', 'item');
}
でカテゴリとタグを共有してます。
register_post_type
の引数(配列)に
'has_archive' => true,
を加えてみてください
表示されました!ありがとうございます。
これでやっと前に進めます(^_^;)
本当にありがとうございました。