質問編集履歴

2

ソースの追加

2016/11/22 12:08

投稿

raidomaru
raidomaru

スコア106

test CHANGED
File without changes
test CHANGED
@@ -181,3 +181,35 @@
181
181
 
182
182
 
183
183
  ```
184
+
185
+
186
+
187
+ ###問題②解決方法
188
+
189
+ 下記のようにソースを変更して解決しました。
190
+
191
+
192
+
193
+ ```php
194
+
195
+ $year_prev = null;
196
+
197
+ $months = $wpdb->get_results("SELECT MONTH( StartDate ) AS month ,
198
+
199
+ YEAR( StartDate ) AS year,
200
+
201
+ COUNT( DISTINCT id ) as post_count FROM $wpdb->posts
202
+
203
+ LEFT JOIN $wpdb->eo_events
204
+
205
+ ON $wpdb->posts.ID = $wpdb->eo_events.post_id
206
+
207
+ WHERE post_status = 'publish' and post_date <= now( )
208
+
209
+ and post_type = 'event'
210
+
211
+ GROUP BY month , year
212
+
213
+ ORDER BY StartDate DESC");
214
+
215
+ ```

1

ソースの変更

2016/11/22 12:08

投稿

raidomaru
raidomaru

スコア106

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,55 @@
129
129
  SQLはそこまで知識がなくこちらのソースも数ヶ月前に調べながらどうにか作りました。
130
130
 
131
131
  解決方法や別の作り方がありましたら、ご教授のほどよろしくお願いします。
132
+
133
+
134
+
135
+ ###試したこと
136
+
137
+ 下記ソースにしたところカテゴリーの絞りこみはできたのですが、記事数のカウントが増えてしまいました。
138
+
139
+ 現在1記事のみしか公開していないのですが、4になってしまいます。
140
+
141
+
142
+
143
+ ```php
144
+
145
+
146
+
147
+ $year_prev = null;
148
+
149
+ $months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month ,
150
+
151
+ YEAR( post_date ) AS year,
152
+
153
+ COUNT( id ) as post_count
154
+
155
+ FROM $wpdb->posts
156
+
157
+ LEFT JOIN $wpdb->postmeta
158
+
159
+ ON $wpdb->posts.ID = $wpdb->postmeta.post_id
160
+
161
+ LEFT JOIN $wpdb->term_relationships
162
+
163
+ ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
164
+
165
+ LEFT JOIN $wpdb->term_taxonomy
166
+
167
+ ON $wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id
168
+
169
+ LEFT JOIN $wpdb->terms
170
+
171
+ ON $wpdb->term_taxonomy.term_taxonomy_id = $wpdb->terms.term_id
172
+
173
+ WHERE post_status = 'publish' and post_date <= now( )
174
+
175
+ and post_type = 'post' and slug = 'column'
176
+
177
+ GROUP BY month , year
178
+
179
+ ORDER BY post_date DESC");
180
+
181
+
182
+
183
+ ```