質問編集履歴

1

質問を追加しました

2021/04/21 07:54

投稿

cwhiro
cwhiro

スコア21

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,5 @@
1
+ 質問1番
2
+
1
3
  メタキーの値がカテゴリー名と異なる記事だけを表示したいのですが、うまくいきません。メタの値は一つで、記事はそれぞれ複数のカテゴリーに属しています。
2
4
 
3
5
 
@@ -49,3 +51,133 @@
49
51
  );?>
50
52
 
51
53
  ```
54
+
55
+ 質問2番
56
+
57
+ ご助言いただき、下記のコードで本来の目的だった記事数のカウントがほとんどの場合でできるようになりました
58
+
59
+
60
+
61
+ ```ここに言語を入力
62
+
63
+ <?php
64
+
65
+ $cats = get_the_category();
66
+
67
+ $category_name=array();
68
+
69
+ foreach($cats as $cat){
70
+
71
+ $category_name[] = $cat->cat_name;
72
+
73
+ }
74
+
75
+ ?>
76
+
77
+
78
+
79
+ <?php
80
+
81
+ $args = array(
82
+
83
+ 'posts_per_page' => -1,
84
+
85
+ 'post_type' => 'post',
86
+
87
+ 'post_status' => 'publish',
88
+
89
+ 'meta_query' => array(
90
+
91
+ 'key'=> '1bb1',
92
+
93
+ 'value' => $category_name,
94
+
95
+ 'compare'=>'NOT IN',
96
+
97
+ ),
98
+
99
+ );
100
+
101
+
102
+
103
+ $query_into = new WP_Query($args);
104
+
105
+ $number_of_into = $query_into->found_posts;
106
+
107
+ ?>
108
+
109
+ ```
110
+
111
+
112
+
113
+ カウントがうまくいかない(meta queryできていない)ときがあります。
114
+
115
+
116
+
117
+ たとえば下記のような5記事では、カウント数は5記事となってほしいのですが、1記事という結果になります
118
+
119
+
120
+
121
+ 記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
122
+
123
+ 記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
124
+
125
+ 記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「こぶた」
126
+
127
+ 記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「こぶた」
128
+
129
+ 記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「こぶた」
130
+
131
+
132
+
133
+ 下記の場合はカウント数は4記事となってほしいのですが、ゼロという結果になります
134
+
135
+
136
+
137
+ 記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「こぶた」
138
+
139
+ 記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
140
+
141
+ 記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「こぶた」
142
+
143
+ 記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「こぶた」
144
+
145
+ 記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「こぶた」
146
+
147
+
148
+
149
+ 下記の場合は、正しくカウントされ、記事数は5となります
150
+
151
+
152
+
153
+ 記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
154
+
155
+ 記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「きつね」
156
+
157
+ 記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「たぬき」
158
+
159
+ 記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「わんこ」
160
+
161
+ 記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「たぬき」
162
+
163
+
164
+
165
+ 上記を少しかえて、「きつね」を「こぶた」に変えると、カウント数は5のままであってほしいのですが、4となります
166
+
167
+
168
+
169
+ 記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
170
+
171
+ 記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
172
+
173
+ 記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「たぬき」
174
+
175
+ 記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「わんこ」
176
+
177
+ 記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「たぬき」
178
+
179
+
180
+
181
+
182
+
183
+ 上記のような検証を繰り返した結果、メタキー1bb1の値が「こぶた」のときだけ、所属カテゴリー名とメタキー1bb1の値が異なっていても、カウントされない(meta queryできていない)ことがわかりました