質問するログイン新規登録

回答編集履歴

2

勘違いしてたので修正

2019/07/31 16:54

投稿

yukikp
yukikp

スコア797

answer CHANGED
@@ -1,17 +1,38 @@
1
1
  訂正
2
2
  taxonomy-brandcat.phpのテンプレートファイルを作ったのに、なぜタームごとの記事一覧が取得できないのかという事ですよね。勘違いしていました。
3
3
 
4
- 原因は、WordPressがURLから判断して、タクソノミーとタームを考慮し、自動でとってくるメインクエリのデータを捨てて、自分でデータを取ってくるサブクエリを使われているからです。
4
+ 原因は、
5
+ (1)$argsの書き方がまず違います。
6
+ ```PHP
7
+ $args = array(
8
+ 'post_type' => $post_type_slug, // 投稿タイプの指定
9
+ $taxonomy_slug => $term_slug , // タクソノミーからタームを指定
10
+ 'posts_per_page' => -1, // タームに紐づく投稿を全てを表示
11
+ );
12
+ ```
13
+ こんな書き方はどこに書いてあったのでしょうか?
14
+ [関数リファレンス/WP Query](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.BF.E3.82.AF.E3.82.BD.E3.83.8E.E3.83.9F.E3.83.BC.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
15
+ を見て考えてみてください。
5
16
 
17
+ (2)書き方が正しくても、これでは、URLからタームごとの記事一覧は取得できません。
6
- 普通に
18
+ 出来るとするならば、
7
19
  ```PHP
20
+ $taxonomy_name = get_query_var('taxonomy');
21
+ $term_var = get_query_var( 'term' );
22
+ ```
23
+ で、URLから指定されているタクソノミーとtermを受け取り、上記WP_Queryの書き方に従って書けばできます。
24
+
25
+ が、WordPressがURLから判断して、タクソノミーとタームを考慮し、データベースから自動的にデータを取ってきてくれる機能があります。なぜそれを使わないのでしょか?
26
+
27
+ 普通にtaxonomy-brandcat.phpに(WP_Query()とか要らないので)
28
+ ```PHP
8
29
  if( have_posts() ):while( have_posts() ):the_post();
9
30
  //(略)
10
31
  endwhile;endif;wp_reset_postdata();
11
32
  ```
12
33
  を使って、表示させてみてください。
13
34
 
14
-
35
+ 以下訂正前の文章です。
15
36
  [タクソノミーテンプレート](http://wpdocs.osdn.jp/%E3%82%BF%E3%82%AF%E3%82%BD%E3%83%8E%E3%83%9F%E3%83%BC%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88)
16
37
 
17
38
  にもありますが、

1

修正

2019/07/31 16:54

投稿

yukikp
yukikp

スコア797

answer CHANGED
@@ -1,3 +1,17 @@
1
+ 訂正
2
+ taxonomy-brandcat.phpのテンプレートファイルを作ったのに、なぜタームごとの記事一覧が取得できないのかという事ですよね。勘違いしていました。
3
+
4
+ 原因は、WordPressがURLから判断して、タクソノミーとタームを考慮し、自動でとってくるメインクエリのデータを捨てて、自分でデータを取ってくるサブクエリを使われているからです。
5
+
6
+ 普通に
7
+ ```PHP
8
+ if( have_posts() ):while( have_posts() ):the_post();
9
+ //(略)
10
+ endwhile;endif;wp_reset_postdata();
11
+ ```
12
+ を使って、表示させてみてください。
13
+
14
+
1
15
  [タクソノミーテンプレート](http://wpdocs.osdn.jp/%E3%82%BF%E3%82%AF%E3%82%BD%E3%83%8E%E3%83%9F%E3%83%BC%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88)
2
16
 
3
17
  にもありますが、