サポート » 使い方全般 » カスタム投稿タイプで通常の投稿と同じカテゴリー名を使用した際のカテゴリー一覧ページの制作方法

  • functions.phpを用いてカスタム投稿タイプを以下の様に制作しました。

    ———————-
    //カスタムポストタイプ 活動 を追加する
    add_action( ‘init’, ‘create_post_type03’ );
    function create_post_type03() {
    register_post_type(
    ‘works’, /* 投稿タイプのslug */
    array(
    ‘labels’ => array(
    ‘name’ => __( ‘活動’ ),
    ‘singular_name’ => __( ‘活動’ )
    ),
    ‘taxonomies’ => array( ‘category’, ‘post_tag’ ),
    ‘public’ => true,
    ‘menu_position’ => 5,
    ‘has_archive’ => true,
    ‘rewrite’ => array( ‘with_front’ => false ),
    ‘supports’ => array(‘title’,’editor’,’thumbnail’,’custom-fields’,’excerpt’,’author’,’trackbacks’,’comments’,’revisions’,’page-attributes’)
    )
    );
    }
    //通常ポストとカスタム投稿タイプでタグを共有する
    register_taxonomy(‘post_tag’, array(‘post’,’works’), array( <——ポイント
    ‘hierarchical’ => true,
    ‘update_count_callback’ => ‘_update_post_term_count’,
    ‘label’ => ”,
    ‘singular_label’ => ”,
    ‘public’ => true,
    ‘show_ui’ => true
    )
    );
    function add_post_tag_archive( $wp_query ) {
    if ($wp_query->is_main_query() && $wp_query->is_tag()) {
    $wp_query->set( ‘post_type’, array(‘post’,’works’)); <——ポイント
    }
    }
    add_action( ‘pre_get_posts’, ‘add_post_tag_archive’ , 10 , 1);
    ————————————————–

    今、カスタム投稿タイプworksに持たせたカテゴリーページ
    活動1:cat01
    活動2:cat02
    活動3:cat03
    でそれぞれのカテゴリー内に属する記事の一覧ページを制作したいです。
    この場合はcategory.php taxsonomy-xxx.php 等どれを使用すれば良いのでしょう?
    また、その中の書き方もお教えください。

    • このトピックは fubasamiが2 ヶ月、 2 週間前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • RICK

    (@rickaddison7634)

    使用するファイルを選択する際は下記が参考になると思います。
    テンプレート階層

    実装する際はお使いのテンプレートを参考にしつつ、WP Queryを使いながら絞り込むと良いと思います。

    役に立つかどうかはわかりませんがWordPressサブループ自動作成ツールのようなものもあります。

    あと、コードを投稿する際はコード部分を選択肢してcodeボタンを押すようにしてください。

    • この返信は2 ヶ月、 2 週間前に  RICK さんが編集しました。
    • この返信は2 ヶ月、 2 週間前に  RICK さんが編集しました。
    • この返信は2 ヶ月、 2 週間前に  RICK さんが編集しました。
    • この返信は2 ヶ月、 2 週間前に  RICK さんが編集しました。
    • この返信は2 ヶ月、 2 週間前に  RICK さんが編集しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • このトピックに返信するにはログインが必要です。