質問編集履歴
3
情報追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -132,6 +132,16 @@
|
|
132
132
|
|
133
133
|
### ページャーについて
|
134
134
|
|
135
|
+
記事とプルダウン(ターム)、それぞれ投稿タイプごとに所有するものが表示されるようになりましたが、ページャーがそれごとに生成されません。
|
136
|
+
|
137
|
+
恐らくNEWS以外のページの記事も合算されてページャーが生成されています。
|
138
|
+
|
139
|
+
例えば1ページ10の記事が表示されるとして、NEWS記事は5、他投稿タイプで30の記事がある場合、
|
140
|
+
|
141
|
+
NEWSで4ページ分のページャーが生成されてしまいます。
|
142
|
+
|
143
|
+
(表示されている記事は5つのみ、2ページ目以降は記事はなくページャーのみ)
|
144
|
+
|
135
145
|
```php
|
136
146
|
|
137
147
|
//functions.phpの内容です
|
2
説明追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -132,7 +132,9 @@
|
|
132
132
|
|
133
133
|
### ページャーについて
|
134
134
|
|
135
|
+
```php
|
136
|
+
|
135
|
-
|
137
|
+
//functions.phpの内容です
|
136
138
|
|
137
139
|
|
138
140
|
|
1
コードの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -125,3 +125,191 @@
|
|
125
125
|
うまく伝わるかわかりませんが、情報不足な点があったらお知らせください。
|
126
126
|
|
127
127
|
よろしくお願いいたします。
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
### ページャーについて
|
134
|
+
|
135
|
+
```functions.php
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
<?php //ページャー部分
|
140
|
+
|
141
|
+
function pagination( $pages, $paged, $range = 2, $show_only = false ) {
|
142
|
+
|
143
|
+
$pages = ( int ) $pages;
|
144
|
+
|
145
|
+
$paged = $paged ?: 1;
|
146
|
+
|
147
|
+
$text_first = "<<";
|
148
|
+
|
149
|
+
$text_before = "<";
|
150
|
+
|
151
|
+
$text_next = ">";
|
152
|
+
|
153
|
+
$text_last = ">>";
|
154
|
+
|
155
|
+
if ( $show_only && $pages === 1 ) {
|
156
|
+
|
157
|
+
echo '<div class="pager"><ul class="pager-list"><li><a class="current" href="">1</a></li></ul></div>';
|
158
|
+
|
159
|
+
return;
|
160
|
+
|
161
|
+
}
|
162
|
+
|
163
|
+
if ( $pages === 1 ) return; // 1ページのみで表示設定もない場合
|
164
|
+
|
165
|
+
if ( 1 !== $pages ) {
|
166
|
+
|
167
|
+
//2ページ以上の時
|
168
|
+
|
169
|
+
echo '<div class="pager"><ul class="pager-list">';
|
170
|
+
|
171
|
+
// echo '<div class="pagination"><span class="page_num">Page ', $paged ,' of ', $pages ,'</span>';
|
172
|
+
|
173
|
+
//現在のページ数などを表示する場合はこの上のコメントアウトを外す。
|
174
|
+
|
175
|
+
if ( $paged > $range + 1 ) {
|
176
|
+
|
177
|
+
// 「最初へ」 の表示
|
178
|
+
|
179
|
+
echo '<li class="prev-area"><a href="', get_pagenum_link(1) ,'" class="prev">', $text_first ,'</a></li>';
|
180
|
+
|
181
|
+
}
|
182
|
+
|
183
|
+
if ( $paged > 1 ) {
|
184
|
+
|
185
|
+
// 「前へ」 の表示
|
186
|
+
|
187
|
+
echo '<li class="prev-area"><a href="', get_pagenum_link( $paged - 1 ) ,'" class="prev">', $text_before ,'</a></li>';
|
188
|
+
|
189
|
+
}
|
190
|
+
|
191
|
+
for ( $i = 1; $i <= $pages; $i++ ) {
|
192
|
+
|
193
|
+
if ( $i <= $paged + $range && $i >= $paged - $range ) {
|
194
|
+
|
195
|
+
// $paged +- $range 以内であればページ番号を出力
|
196
|
+
|
197
|
+
if ( $paged === $i ) {
|
198
|
+
|
199
|
+
echo '<li><a class="current" href="">', $i ,'</a></li>';
|
200
|
+
|
201
|
+
} else {
|
202
|
+
|
203
|
+
echo '<li><a href="', get_pagenum_link( $i ) ,'">', $i ,'</a></li>';
|
204
|
+
|
205
|
+
}
|
206
|
+
|
207
|
+
}
|
208
|
+
|
209
|
+
}
|
210
|
+
|
211
|
+
if ( $paged < $pages ) {
|
212
|
+
|
213
|
+
// 「次へ」 の表示
|
214
|
+
|
215
|
+
echo '<li class="next-area"><a href="', get_pagenum_link( $paged + 1 ) ,'" class="next">', $text_next ,'</a></li>';
|
216
|
+
|
217
|
+
}
|
218
|
+
|
219
|
+
if ( $paged + $range < $pages ) {
|
220
|
+
|
221
|
+
// 「最後へ」 の表示
|
222
|
+
|
223
|
+
echo '<li class="next-area"><a href="', get_pagenum_link( $pages ) ,'" class="next">', $text_last ,'</a></li>';
|
224
|
+
|
225
|
+
}
|
226
|
+
|
227
|
+
echo '</ul></div>';
|
228
|
+
|
229
|
+
}
|
230
|
+
|
231
|
+
}
|
232
|
+
|
233
|
+
?>
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
```
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
```php
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
<ul>
|
246
|
+
|
247
|
+
<?php
|
248
|
+
|
249
|
+
$paged = get_query_var('paged') ? get_query_var('paged') : 1 ;
|
250
|
+
|
251
|
+
$term = wp_get_object_terms($post->ID, 'items');
|
252
|
+
|
253
|
+
$args = array(
|
254
|
+
|
255
|
+
'post_type' => 'news',
|
256
|
+
|
257
|
+
'taxonomy' => 'items',
|
258
|
+
|
259
|
+
'term' => $term[0]->slug,
|
260
|
+
|
261
|
+
'posts_per_page' => 7,
|
262
|
+
|
263
|
+
'paged' => $paged
|
264
|
+
|
265
|
+
);
|
266
|
+
|
267
|
+
$custom_query = new WP_Query( $args );
|
268
|
+
|
269
|
+
if ( $custom_query->have_posts() ) :
|
270
|
+
|
271
|
+
while ( $custom_query->have_posts() ) :
|
272
|
+
|
273
|
+
$custom_query->the_post();
|
274
|
+
|
275
|
+
?>
|
276
|
+
|
277
|
+
<!-- ▽ ループ開始 ▽ -->
|
278
|
+
|
279
|
+
<li>
|
280
|
+
|
281
|
+
記事内容
|
282
|
+
|
283
|
+
</li>
|
284
|
+
|
285
|
+
<!-- △ ループ終了 △ -->
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
<?php endwhile;
|
290
|
+
|
291
|
+
endif;
|
292
|
+
|
293
|
+
wp_reset_postdata();
|
294
|
+
|
295
|
+
?>
|
296
|
+
|
297
|
+
</ul>
|
298
|
+
|
299
|
+
<!-- ページネーション -->
|
300
|
+
|
301
|
+
<?php
|
302
|
+
|
303
|
+
if ( function_exists( 'pagination' ) ) :
|
304
|
+
|
305
|
+
pagination( $wp_query->max_num_pages, get_query_var( 'paged' ) );
|
306
|
+
|
307
|
+
endif;
|
308
|
+
|
309
|
+
?>
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
```
|