質問編集履歴
1
WordPressタグの追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
### 実現したいこと
|
|
2
2
|
目的: ページ内のタブのカテゴリー切り替えをした際に、それぞれのカテゴリーにて1ページ目にリセットされるようにしたい。
|
|
3
|
-
|
|
4
|
-
### 発生している問題
|
|
3
|
+
### 発生している問題
|
|
5
4
|
現在カテゴリー一覧ページ(page-categories.php)内にてタブのカテゴリー切り替えで記事が切り替わるようにしています、その際にページネーションでページを変えた後(3ページ目など)、他のカテゴリーに切り替えると3ページ分もまだないカテゴリーの記事が何も表示されない状態になってしまいます。どうすれば良いでしょうか?
|
|
6
|
-
|
|
7
5
|
1)現在、ページネーションにてページ数を変更後に別のカテゴリーへ切り替えると、元のページ番号が維持されたまま切り替えが行われている。
|
|
8
6
|
2)このため、切り替えた先のカテゴリーに該当するページ番号の記事が存在しない場合、何も表示されない状態になってしまう。
|
|
9
7
|
3)カテゴリーを切り替えた場合、常に1ページ目にリセットされるようにしたい。
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
8
|
### 該当のソースコード
|
|
15
|
-
|
|
16
9
|
```php
|
|
17
10
|
```lang-php
|
|
18
11
|
<!-- ここにカテゴリータグ表示 -->
|
|
@@ -50,11 +43,8 @@
|
|
|
50
43
|
<div class="c-category-article__img-wrapper">
|
|
51
44
|
<?php
|
|
52
45
|
$categories = get_the_category();
|
|
53
|
-
foreach ($categories as $category) {
|
|
46
|
+
foreach ($categories as $category) {
|
|
54
|
-
|
|
55
|
-
$this_category_color = get_field('category_color', 'category_' . $category->term_id);
|
|
47
|
+
$this_category_color = get_field('category_color', 'category_' . $category->term_id); $this_category_name = $category->name;
|
|
56
|
-
|
|
57
|
-
$this_category_name = $category->name;
|
|
58
48
|
echo '<p class="c-category-article__category" style="' . esc_attr('background-color:' . $this_category_color) . ';">' . esc_html($this_category_name) . '</p>';
|
|
59
49
|
}
|
|
60
50
|
?>
|
|
@@ -65,7 +55,6 @@
|
|
|
65
55
|
// サムネイルを表示する(デフォルトのサイズ)
|
|
66
56
|
the_post_thumbnail(array(227, 132));
|
|
67
57
|
} else {
|
|
68
|
-
// サムネイルが設定されていない場合の代替処理
|
|
69
58
|
echo '<img src="' . get_template_directory_uri() . '/assets/images/c-article10.JPG" alt="デフォルト画像" width="227" height="170">';
|
|
70
59
|
}
|
|
71
60
|
?>
|
|
@@ -106,7 +95,6 @@
|
|
|
106
95
|
//下記同じ記述が3つ(ぐるめ、うぇぶ、たび)繰り返し//
|
|
107
96
|
```
|
|
108
97
|
```
|
|
109
|
-
|
|
110
98
|
```JavaScript
|
|
111
99
|
```lang-JavaScript
|
|
112
100
|
jQuery(function(){
|
|
@@ -220,24 +208,18 @@
|
|
|
220
208
|
}
|
|
221
209
|
```
|
|
222
210
|
```
|
|
223
|
-
|
|
224
211
|
### 試したこと・調べたこと
|
|
225
212
|
- [x] teratailやGoogle等で検索した
|
|
226
213
|
- [x] ソースコードを自分なりに変更した
|
|
227
|
-
- [ ] 知人に聞いた
|
|
228
|
-
- [ ] その他
|
|
229
|
-
|
|
230
214
|
##### 上記の詳細・結果
|
|
231
215
|
ページ内でのカテゴリー切り替えと連動した記事出力についてはGoogle検索などで上手く実装できたのですが、それに伴ったページネーションの実装などは独自のものなので検索しようがなくこちらにて質問させて頂きたく思いました。
|
|
232
216
|
ChatGPTで何度も質問したが納得いく答えが出ず、クエリパラメータをリセットするという方法までは導き出せたが解決されずの状態です。
|
|
233
217
|
どなたかご教授いただけると幸いです。
|
|
234
|
-
|
|
235
218
|
ChatGPTの解答例は下記になります
|
|
236
219
|
```lang-JavaScript
|
|
237
220
|
jQuery(function() {
|
|
238
221
|
$('.p-category-news__category-item').on('click', function() {
|
|
239
222
|
var index = $('.p-category-news__category-item').index(this);
|
|
240
|
-
|
|
241
223
|
// カテゴリータブの切り替え
|
|
242
224
|
$('.p-category-news__category-item').removeClass('current');
|
|
243
225
|
$(this).addClass('current');
|
|
@@ -261,13 +243,11 @@
|
|
|
261
243
|
'category_name' => '指定するカテゴリーのスラッグ', // カテゴリー指定
|
|
262
244
|
);
|
|
263
245
|
$the_query = new WP_Query($args);
|
|
264
|
-
|
|
265
246
|
if ($the_query->have_posts()) :
|
|
266
247
|
while ($the_query->have_posts()) : $the_query->the_post();
|
|
267
248
|
// 投稿の表示部分
|
|
268
249
|
endwhile;
|
|
269
250
|
endif;
|
|
270
|
-
|
|
271
251
|
// ページネーション
|
|
272
252
|
if ($the_query->max_num_pages > 1) {
|
|
273
253
|
echo paginate_links(array(
|
|
@@ -281,8 +261,4 @@
|
|
|
281
261
|
));
|
|
282
262
|
}
|
|
283
263
|
?>
|
|
284
|
-
|
|
285
264
|
```
|
|
286
|
-
|
|
287
|
-
### 補足
|
|
288
|
-
特になし
|