質問編集履歴

1

内容の改善と進展があったので追加

2021/09/27 19:01

投稿

hito90
hito90

スコア0

test CHANGED
@@ -1 +1 @@
1
- WordPress テンプレートテーマ のフィルター機能デフォルト表示を変更したい(PHP
1
+ WordPress テンプレートテーマ のフィルターギャリー初期表示を変更したい(Javascript
test CHANGED
@@ -20,9 +20,35 @@
20
20
 
21
21
  自分の見せたいカテゴリーをロードした時に表示したいので試行錯誤している状況です。
22
22
 
23
-
23
+ 以下がサンプルのサイトですhttps://demo.tcd-theme.com/tcd070/gallery/
24
+
25
+
26
+
24
-
27
+ 追記9/28
28
+
25
-
29
+ 試行錯誤の結果PHPだと目当てのフィルターをアクティブにできても後に読み込まれるギャラリーの部分が変わらないので
30
+
31
+ 自分の力では制御するのは難しそうという結論になりました。
32
+
33
+ 考えた結果Java Script でやるのが良いのではないかと思い現在試行錯誤しています。
34
+
35
+
36
+
37
+ アイデア1
38
+
39
+ ページを読み込んだときに目当てのページをデフォルトにする
40
+
41
+ アイデア2
42
+
43
+ フィルターを選択していない状態はPHPから作り出せたので
44
+
45
+ フィルターが1つもアクティブになっていない状態を検知して
46
+
47
+ その状態の場合は目当てのデータIDのフィルターを指定するようにする
48
+
49
+
50
+
51
+ 個人的にはアイデア2の方が作りやすそうな気がしているのですが知恵を貸していただけると助かります。
26
52
 
27
53
 
28
54
 
@@ -116,6 +142,88 @@
116
142
 
117
143
 
118
144
 
145
+
146
+
147
+
148
+
149
+ 追記9/28
150
+
151
+ JavaScript
152
+
153
+ // category filter
154
+
155
+ var $gridArchiveFilterItems = $('.p-archive-categories__filter-item');
156
+
157
+ if ($gridArchiveFilterItems.length) {
158
+
159
+ $gridArchiveFilterItems.click(function() {
160
+
161
+ if (gridArchiveFilterAnimating || $(this).hasClass('is-active')) return false;
162
+
163
+ gridArchiveFilterAnimating = true;
164
+
165
+
166
+
167
+ $gridArchiveFilterItems.removeClass('is-active');
168
+
169
+ var catId = $(this).addClass('is-active').attr('data-cat-id');
170
+
171
+ var $items = $gridArchive.find(gridArchiveItemClass).removeClass('is-active');
172
+
173
+ if (catId) {
174
+
175
+ gridArchiveFilterCatId = catId;
176
+
177
+ setTimeout(function(){
178
+
179
+ wall.filter('.cat-' + catId);
180
+
181
+ setTimeout(function(){
182
+
183
+ setGridItemSize()
184
+
185
+ wall.fitWidth();
186
+
187
+ gridArchiveFilterAnimating = false;
188
+
189
+ gridArchiveItemsFadein($items.filter('.cat-' + catId), true);
190
+
191
+ }, 200);
192
+
193
+ }, 550);
194
+
195
+ } else {
196
+
197
+ gridArchiveFilterCatId = null;
198
+
199
+ setTimeout(function(){
200
+
201
+ wall.unFilter();
202
+
203
+ setTimeout(function(){
204
+
205
+ setGridItemSize()
206
+
207
+ wall.fitWidth();
208
+
209
+ gridArchiveFilterAnimating = false;
210
+
211
+ gridArchiveItemsFadein();
212
+
213
+ }, 200);
214
+
215
+ }, 550);
216
+
217
+ }
218
+
219
+ });
220
+
221
+ }
222
+
223
+
224
+
225
+
226
+
119
227
  ### 試したこと
120
228
 
121
229
 
@@ -162,7 +270,15 @@
162
270
 
163
271
 
164
272
 
165
-
273
+ 追記
274
+
275
+ アイデア2を実現しようと試行錯誤していますが
276
+
277
+ 目当てのデータカテゴリーのIDは
278
+
279
+ HTMLで確認したところdata-cat-id="6"なのは分っているのですが
280
+
281
+ 基本的なつくりを読み解けていないのでエラーが多くうまく指定が出来ていない状況です。
166
282
 
167
283
 
168
284