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

質問編集履歴

2

訂正

2016/10/06 06:53

投稿

kenny_sayama
kenny_sayama

スコア1036

title CHANGED
File without changes
body CHANGED
@@ -85,9 +85,7 @@
85
85
  * taxonomy = post_tag
86
86
 
87
87
 
88
+ ```
88
89
 
89
-
90
-
91
-
92
-
93
- ```
90
+ 以上のレコードを取得してダンプしますと、
91
+ postsが1であるのに、カテゴリーが2つ存在するため、配列が2つに分かれてしまいます。

1

訂正

2016/10/06 06:53

投稿

kenny_sayama
kenny_sayama

スコア1036

title CHANGED
File without changes
body CHANGED
@@ -12,4 +12,82 @@
12
12
  ###該当のソースコード
13
13
  ```SQL
14
14
  $sql = "SELECT * FROM $wpdb->posts AS P JOIN $wpdb->term_relationships AS TR ON P.id = TR.object_id JOIN $wpdb->term_taxonomy AS TT ON TR.term_taxonomy_id = TT.term_taxonomy_id JOIN $wpdb->terms AS T ON TR.term_taxonomy_id = T.term_id WHERE post_status = 'publish' ORDER BY post_date DESC LIMIT 30";
15
+ ```
16
+
17
+ ###データサンプル
18
+
19
+ 該当するテーブル
20
+
21
+ * wp_posts
22
+ * wp_terms
23
+ * wp_term_relationships
24
+ * wp_term_taxonomy
25
+
26
+
27
+ ######関係のありそうな部分のカラムだけ載せておきます。
28
+ wp_postsの構造(記事情報が格納されている)
29
+
30
+ * id
31
+ * title
32
+
33
+ wp_termの構造(カテゴリとタグが格納されている)
34
+
35
+ * term_id
36
+ * name (カテゴリ or タグの名前)
37
+ * slug (カテゴリ or タグのスラッグ名)
38
+
39
+ wp_term_relationshipsの構造()
40
+
41
+ * object_id
42
+ * term_taxonomy_id
43
+
44
+ wp_term_taxonomy
45
+
46
+ * term_taxonomy_id
47
+ * term_id
48
+ * taxonomy (category or post_tagが格納されこちらでタグかカテゴリの判別がされている)
49
+
50
+
51
+
52
+ 例:
53
+ 以下のような1記事のレコードがあったとします。
54
+
55
+ ```
56
+ // wp_posts(記事データ)
57
+ * id = 1
58
+ * title = hoge
59
+
60
+
61
+ // wp_term_relationship(記事に関連付けを行う)
62
+ * object_id = 1(postの記事に紐づいてる)
63
+ * term_taxonomy_id = 1
64
+
65
+ * object_id = 1
66
+ * term_taxonomy_id = 2
67
+
68
+
69
+ // wp_terms(カテゴリーとタグが格納されている)
70
+ * term_id = 1
71
+ * name = 旅行
72
+ * slug = trip
73
+
74
+ * term_id = 2
75
+ * name = フード
76
+ * slug = food
77
+
78
+ // wp_term_taxonomy(カテゴリーかタグか判断させるテーブル)
79
+ * term_taxonomy_id = 1
80
+ * term_id = 1
81
+ * taxonomy = post_tag
82
+
83
+ * term_taxonomy_id = 2
84
+ * term_id = 2
85
+ * taxonomy = post_tag
86
+
87
+
88
+
89
+
90
+
91
+
92
+
15
93
  ```