• 解決済 nashigon

    (@nashigon)


    カスタム投稿タイプ(item)の記事一覧をcategory.phpに表示させたいのですが全く出てきません。
    https://ja.forums.wordpress.org/topic/24420?replies=14
    ↑のトピックを参考にさせていただいたのですが全くです。
    エラーにもならないので困ってます…
    カテゴリとタブを通常の投稿と共通にしてるのですがダメなんでしょうか?

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • まず、状況を整理したいのですが……

    ご希望としては、挙げていただいた過去のトピックと同じく、「カテゴリーアーカイブに通常の投稿とカスタム投稿タイプ(item)の記事を混在させて表示させたい」で合っていますでしょうか。

    その上で、過去トピックを参考にしてどのようなコードをどこに書きましたか?

    トピック投稿者 nashigon

    (@nashigon)

    すいません、状況がわからないですよね(^_^;)
    まず、希望としては「カテゴリーアーカイブに通常の投稿とカスタム投稿タイプ(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 がコードを書き加えるべきファイルの名前です。コードは前者でだいじょうぶだと思います。

    トピック投稿者 nashigon

    (@nashigon)

    mimosafaさん「s」はちゃんと付いてます。記載ミスです(^_^;)
    コードはfunctions.phpに書いてます。

    投稿タイプ itemのアーカイブ(http://example.com/item OR http://example.com/?post_type=item )は問題なく表示されますか?
    また、通常の投稿と共有しているのはカスタムタクソノミーではなくカテゴリーで間違いはないでしょうか

    トピック投稿者 nashigon

    (@nashigon)

    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,

    を加えてみてください

    トピック投稿者 nashigon

    (@nashigon)

    表示されました!ありがとうございます。
    これでやっと前に進めます(^_^;)
    本当にありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタム投稿タイプの記事をcategory.phpに表示させたい」には新たに返信することはできません。