質問編集履歴
1
内容の改善と進展があったので追加
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
WordPress テンプレートテーマ のフィルター
|
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
|
|