質問編集履歴

6

未解決ですが一部コードを修正と現在の状態

2021/12/28 07:27

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -132,6 +132,32 @@
132
132
 
133
133
  1回目
134
134
 
135
+
136
+
137
+ 消えてしまいました
138
+
139
+ ![イメージ説明](546fbfe518a2bccfe01c40e7147db2fb.png)
140
+
141
+ 検証ツール上では何も表示されていない状態です
142
+
143
+ ![イメージ説明](a51a250d1aaccad8a821ffd0d54cfa3f.png)
144
+
145
+
146
+
147
+ 追記2:カスタム投稿、カスタムタクソノミーの設定画面
148
+
149
+ 今回上記を実装するにあたってプラグイン(Custom Post Type UI)を使用したので設定画面を載せます
150
+
151
+ ![イメージ説明](b499cdc2eb9a39216c1f416c2587e28d.png)
152
+
153
+ ![イメージ説明](6d07adbca34a78a2f733644cb61f74dc.png)
154
+
155
+
156
+
157
+ 追記3:nekoraさんのコードを試した結果
158
+
159
+
160
+
135
161
  ```php
136
162
 
137
163
  <section class="member">
@@ -152,11 +178,15 @@
152
178
 
153
179
  'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
154
180
 
181
+ array( //タクソノミー指定の時はarrayのarrayでないといけない
182
+
155
- 'taxonomy' => 'position',
183
+ 'taxonomy' => 'position',
156
-
184
+
157
- 'field' => 'slug',
185
+ 'field' => 'slug',
158
-
186
+
159
- 'terms' => 'position3', //タームスラッグで指定('field'が'slug'なので)
187
+ 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
188
+
189
+ )
160
190
 
161
191
  )
162
192
 
@@ -166,37 +196,43 @@
166
196
 
167
197
  if ( $posts ): ?>
168
198
 
169
- <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
199
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
170
-
200
+
171
- <h3 class="member__inner__title"><?php the_field('position3'); ?></h2>
201
+ <h3 class="member__inner__title"><?php the_field('position3', $post->ID); ?></h2>
172
-
202
+
173
- <div class="member__inner__flex">
203
+ <div class="member__inner__flex">
174
-
204
+
175
- <a href="<?php the_permalink(); ?>" class="member__inner__flex__box">
205
+ <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
176
-
206
+
177
- <figure class="member__inner__flex__box__img">
207
+ <figure class="member__inner__flex__box__img">
178
-
208
+
179
- <?php if ( has_post_thumbnail() ): ?>
209
+ <?php if ( has_post_thumbnail($post->ID) ): ?>
180
-
210
+
181
- <?php the_post_thumbnail(); ?>
211
+ <?php echo get_the_post_thumbnail($post->ID); ?>
182
-
212
+
183
- <?php else: ?>
213
+ <?php else: ?>
184
-
214
+
185
- <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
215
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
186
-
216
+
187
- <?php endif; ?>
217
+ <?php endif; ?>
188
-
218
+
189
- </figure>
219
+ </figure>
190
-
220
+
191
- <h2 class="member__inner__flex__box__name"><?php the_title(); ?></h2>
221
+ <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
192
-
222
+
193
- </a>
223
+ </a>
194
-
224
+
195
- </div>
225
+ </div>
226
+
196
-
227
+ <?php endforeach;?>
228
+
229
+ <?php else:?>
230
+
231
+ <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
232
+
233
+ <P>該当する記事はありません</p>
234
+
197
- <?php
235
+ <?php
198
-
199
- endforeach;
200
236
 
201
237
  endif;
202
238
 
@@ -208,19 +244,27 @@
208
244
 
209
245
  </section>
210
246
 
211
-
212
-
213
247
  ```
214
248
 
215
- 3件のカスタム投稿の内容が表示されているがタームの絞り込みは実装されていない状態
249
+
216
-
250
+
217
- ![イメージ説明](a85d38dd309356dbe25a98919a3c53cc.png)
251
+ ![イメージ説明](cb1c5cd2f043f367ae3e9bd4e5669fa6.png)
218
-
219
-
220
-
252
+
221
- 2回目
253
+ 表示されませんでした
254
+
255
+
256
+
222
-
257
+ 追記4:タームの紐付けの問題点が知りたいです
258
+
259
+
260
+
223
-
261
+ ![イメージ説明](2b8d213968fe8a5b0dec33687de86b57.png)
262
+
263
+
264
+
265
+ 上記の画像の通りにカスタムフィールドを作り投稿画面に表示させていたので
266
+
267
+ 出力させたい役職のフィード名(positionc)をコードに入力しました。
224
268
 
225
269
  ```php
226
270
 
@@ -232,7 +276,7 @@
232
276
 
233
277
  $args = array(
234
278
 
235
- 'post_type' => 'member',
279
+ 'post_type' => 'member',
236
280
 
237
281
  'posts_per_page' => 4, // 表示する件数
238
282
 
@@ -242,13 +286,13 @@
242
286
 
243
287
  'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
244
288
 
245
- array( //タクソノミー指定の時はarrayのarrayないといけない
289
+ array( //タクソノミー指定の時はarrayのarrayないといけない
246
-
290
+
247
- 'taxonomy' => 'position',
291
+ 'taxonomy' => 'position',
248
-
292
+
249
- 'field' => 'slug',
293
+ 'field' => 'slug',
250
-
294
+
251
- 'terms' => 'position3', //タームスラッグで指定('field'が'slug'なので)
295
+ 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
252
296
 
253
297
  )
254
298
 
@@ -260,37 +304,43 @@
260
304
 
261
305
  if ( $posts ): ?>
262
306
 
263
- <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
307
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
264
-
308
+
265
- <h3 class="member__inner__title"><?php the_field('position3'); ?></h2>
309
+ <h3 class="member__inner__title"><?php the_field('positionc', $post->ID); ?></h2>
266
-
310
+
267
- <div class="member__inner__flex">
311
+ <div class="member__inner__flex">
268
-
312
+
269
- <a href="<?php the_permalink(); ?>" class="member__inner__flex__box">
313
+ <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
270
-
314
+
271
- <figure class="member__inner__flex__box__img">
315
+ <figure class="member__inner__flex__box__img">
272
-
316
+
273
- <?php if ( has_post_thumbnail() ): ?>
317
+ <?php if ( has_post_thumbnail($post->ID) ): ?>
274
-
318
+
275
- <?php the_post_thumbnail(); ?>
319
+ <?php echo get_the_post_thumbnail($post->ID); ?>
276
-
320
+
277
- <?php else: ?>
321
+ <?php else: ?>
278
-
322
+
279
- <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
323
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
280
-
324
+
281
- <?php endif; ?>
325
+ <?php endif; ?>
282
-
326
+
283
- </figure>
327
+ </figure>
284
-
328
+
285
- <h2 class="member__inner__flex__box__name"><?php the_title(); ?></h2>
329
+ <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
286
-
330
+
287
- </a>
331
+ </a>
288
-
332
+
289
- </div>
333
+ </div>
334
+
290
-
335
+ <?php endforeach;?>
336
+
337
+ <?php else:?>
338
+
339
+ <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
340
+
341
+ <P>該当する記事はありません</p>
342
+
291
- <?php
343
+ <?php
292
-
293
- endforeach;
294
344
 
295
345
  endif;
296
346
 
@@ -302,43 +352,79 @@
302
352
 
303
353
  </section>
304
354
 
355
+
356
+
305
357
  ```
306
358
 
307
- 消えてしまいました
359
+
308
-
360
+
361
+
362
+
309
- ![イメージ説明](546fbfe518a2bccfe01c40e7147db2fb.png)
363
+ ![イメージ説明](f3c2b53c31ddde649b0d2b7491f29901.png)
310
-
364
+
365
+
366
+
311
- 検証ツでは何も表示されていない状態
367
+ ムの紐付け作業は記の画像の通り、役職が表示されており選択きるので
312
-
313
- ![イメージ説明](a51a250d1aaccad8a821ffd0d54cfa3f.png)
368
+
314
-
315
-
316
-
317
- 追記2:スタム投稿、カスタムタクソノミー設定画面
369
+ 問題ないと思ったのですがウント数が0のままになります。
318
-
319
- 今回上記を実装するにあたってプラグイン(Custom Post Type UI)を使用したので設定画面を載せます
370
+
320
-
321
- ![イメージ説明](b499cdc2eb9a39216c1f416c2587e28d.png)
371
+ ![イメージ説明](5b5f49ebbf23936cb950701c3c0bebe6.png)
322
-
372
+
373
+
374
+
323
- ![イメージ説明](6d07adbca34a78a2f733644cb61f74dc.png)
375
+ 現在の状態においてどのような問題点が考えられますでしょうか?
376
+
324
-
377
+ 何度もお手数おかけして申し訳ないです。
378
+
325
-
379
+ よろしくお願いいたします。
326
-
380
+
381
+
382
+
327
- 追記nekoraさんのコードを試した結果
383
+ 追記未解決ですが一部コードを修正と現在の状態
384
+
385
+
386
+
328
-
387
+ tax_queryを一時的にコメントアウトし
388
+
329
-
389
+
330
390
 
331
391
  ```php
332
392
 
393
+ <?php the_field('positionc', $post->ID); ?>
394
+
395
+ ```
396
+
397
+
398
+
399
+ ```php
400
+
401
+ <h3 class="member__inner__title">教授</h2>
402
+
403
+ ```
404
+
405
+ 上記のコードの内容と場所を変更しました。
406
+
407
+ これによりposition5(教授のターム)で絞り込もうとしたのですが
408
+
409
+ 表示されず。
410
+
411
+
412
+
413
+ ```php
414
+
333
415
  <section class="member">
334
416
 
335
- <div class="member__inner">
417
+ <div class="member__inner">
418
+
336
-
419
+ <h3 class="member__inner__title">教授</h2>
420
+
421
+ <div class="member__inner__flex">
422
+
337
- <?php
423
+ <?php
338
424
 
339
425
  $args = array(
340
426
 
341
- 'post_type' => 'member',
427
+ 'post_type' => 'member',
342
428
 
343
429
  'posts_per_page' => 4, // 表示する件数
344
430
 
@@ -354,55 +440,51 @@
354
440
 
355
441
  'field' => 'slug',
356
442
 
357
- 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
443
+ 'terms' => array('position5'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
358
444
 
359
445
  )
360
446
 
361
447
  )
362
448
 
449
+
450
+
363
451
  );
364
452
 
365
453
  $posts = get_posts( $args );
366
454
 
367
455
  if ( $posts ): ?>
368
456
 
369
- <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
457
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
370
-
371
- <h3 class="member__inner__title"><?php the_field('position3', $post->ID); ?></h2>
458
+
372
-
373
- <div class="member__inner__flex">
374
-
375
- <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
459
+ <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
376
-
460
+
377
- <figure class="member__inner__flex__box__img">
461
+ <figure class="member__inner__flex__box__img">
378
-
462
+
379
- <?php if ( has_post_thumbnail($post->ID) ): ?>
463
+ <?php if ( has_post_thumbnail($post->ID) ): ?>
380
-
464
+
381
- <?php echo get_the_post_thumbnail($post->ID); ?>
465
+ <?php echo get_the_post_thumbnail($post->ID); ?>
382
-
466
+
383
- <?php else: ?>
467
+ <?php else: ?>
384
-
468
+
385
- <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
469
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
386
-
470
+
387
- <?php endif; ?>
471
+ <?php endif; ?>
388
-
472
+
389
- </figure>
473
+ </figure>
390
-
474
+
391
- <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
475
+ <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
392
-
476
+
393
- </a>
477
+ </a>
394
-
395
- </div>
478
+
396
-
397
- <?php endforeach;?>
479
+ <?php endforeach;?>
398
-
480
+
399
- <?php else:?>
481
+ <?php else:?>
400
-
482
+
401
- <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
483
+ <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
402
-
484
+
403
- <P>該当する記事はありません</p>
485
+ <P>該当する記事はありません</p>
404
-
486
+
405
- <?php
487
+ <?php
406
488
 
407
489
  endif;
408
490
 
@@ -410,139 +492,35 @@
410
492
 
411
493
  ?>
412
494
 
413
- </div>
495
+ </div>
496
+
497
+
498
+
499
+ </div>
414
500
 
415
501
  </section>
416
502
 
417
503
  ```
418
504
 
419
-
420
-
421
- ![イメージ説明](cb1c5cd2f043f367ae3e9bd4e5669fa6.png)
422
-
423
- 表示されませんでした
424
-
425
-
426
-
427
- 追記4:タームの紐付けの問題点が知りたいです
428
-
429
-
430
-
431
- ![イメージ説明](2b8d213968fe8a5b0dec33687de86b57.png)
505
+ ![イメージ説明](f63badb99634f289318db0c77a2e1738.png)
432
-
433
-
434
-
506
+
435
- の画像の通りにカスタムフィールドを作り投稿画面に表示させていので
507
+ tax_queryをコメントアウトした所全事が表示されまし
436
-
437
- 出力させたい役職のフィード名(positionc)をコードに入力しました。
508
+
438
-
439
- ```php
440
-
441
- <section class="member">
442
-
443
- <div class="member__inner">
444
-
445
- <?php
446
-
447
- $args = array(
448
-
449
- 'post_type' => 'member',
450
-
451
- 'posts_per_page' => 4, // 表示する件数
452
-
453
- 'orderby' => 'date', // 日付でソート
454
-
455
- 'order' => 'DESC', // DESCで新しい、ASCで古い順に表示
456
-
457
- 'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
458
-
459
- array( //タクソノミー指定の時はarrayのarrayでないといけない
460
-
461
- 'taxonomy' => 'position',
462
-
463
- 'field' => 'slug',
464
-
465
- 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
466
-
467
- )
468
-
469
- )
470
-
471
- );
472
-
473
- $posts = get_posts( $args );
474
-
475
- if ( $posts ): ?>
476
-
477
- <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
478
-
479
- <h3 class="member__inner__title"><?php the_field('positionc', $post->ID); ?></h2>
480
-
481
- <div class="member__inner__flex">
482
-
483
- <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
484
-
485
- <figure class="member__inner__flex__box__img">
486
-
487
- <?php if ( has_post_thumbnail($post->ID) ): ?>
488
-
489
- <?php echo get_the_post_thumbnail($post->ID); ?>
490
-
491
- <?php else: ?>
492
-
493
- <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
494
-
495
- <?php endif; ?>
496
-
497
- </figure>
498
-
499
- <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
500
-
501
- </a>
502
-
503
- </div>
504
-
505
- <?php endforeach;?>
506
-
507
- <?php else:?>
508
-
509
- <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
510
-
511
- <P>該当する記事はありません</p>
512
-
513
- <?php
514
-
515
- endif;
516
-
517
- wp_reset_postdata();
518
-
519
- ?>
520
-
521
- </div>
522
-
523
- </section>
524
-
525
-
526
-
527
- ```
528
-
529
-
530
-
531
-
532
-
533
- ![イメージ説明](f3c2b53c31ddde649b0d2b7491f29901.png)
509
+ ![イメージ説明](8cf85902356b4c69369648a9f4dd7d1b.png)
534
-
535
-
536
-
537
- タームの紐付け作業は上記の画像の通り、役職が表示されており選択できるので
510
+
538
-
539
- 問題ないと思ったのですがウントのままになります。
511
+ 前回掲載し役職のカスタムフィールド下半分見切れていたで載せます。
540
-
512
+
541
- ![イメージ説明](5b5f49ebbf23936cb950701c3c0bebe6.png)
513
+ ![イメージ説明](b155b1cf855c44d8ff167c07d0388380.png)
514
+
542
-
515
+ 返り値関連に解決の糸口があるのではないかと調べているのですが
516
+
543
-
517
+ 未だ解決に至っていない現状です。
518
+
544
-
519
+ カスタムフィールドはAdvanced Custom Fieldsを使用しております。
520
+
521
+
522
+
545
- 現在の状態においてどのような問題点が考えられますでしょうか?
523
+ 現在の状態において考えられる問題点もしくは別の解決手段などありしたら助言して頂けると嬉しいで
546
524
 
547
525
  何度もお手数おかけして申し訳ないです。
548
526
 

5

タームの紐付けの問題点について

2021/12/28 07:27

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -421,3 +421,129 @@
421
421
  ![イメージ説明](cb1c5cd2f043f367ae3e9bd4e5669fa6.png)
422
422
 
423
423
  表示されませんでした
424
+
425
+
426
+
427
+ 追記4:タームの紐付けの問題点が知りたいです
428
+
429
+
430
+
431
+ ![イメージ説明](2b8d213968fe8a5b0dec33687de86b57.png)
432
+
433
+
434
+
435
+ 上記の画像の通りにカスタムフィールドを作り投稿画面に表示させていたので
436
+
437
+ 出力させたい役職のフィード名(positionc)をコードに入力しました。
438
+
439
+ ```php
440
+
441
+ <section class="member">
442
+
443
+ <div class="member__inner">
444
+
445
+ <?php
446
+
447
+ $args = array(
448
+
449
+ 'post_type' => 'member',
450
+
451
+ 'posts_per_page' => 4, // 表示する件数
452
+
453
+ 'orderby' => 'date', // 日付でソート
454
+
455
+ 'order' => 'DESC', // DESCで新しい、ASCで古い順に表示
456
+
457
+ 'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
458
+
459
+ array( //タクソノミー指定の時はarrayのarrayでないといけない
460
+
461
+ 'taxonomy' => 'position',
462
+
463
+ 'field' => 'slug',
464
+
465
+ 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
466
+
467
+ )
468
+
469
+ )
470
+
471
+ );
472
+
473
+ $posts = get_posts( $args );
474
+
475
+ if ( $posts ): ?>
476
+
477
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
478
+
479
+ <h3 class="member__inner__title"><?php the_field('positionc', $post->ID); ?></h2>
480
+
481
+ <div class="member__inner__flex">
482
+
483
+ <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
484
+
485
+ <figure class="member__inner__flex__box__img">
486
+
487
+ <?php if ( has_post_thumbnail($post->ID) ): ?>
488
+
489
+ <?php echo get_the_post_thumbnail($post->ID); ?>
490
+
491
+ <?php else: ?>
492
+
493
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
494
+
495
+ <?php endif; ?>
496
+
497
+ </figure>
498
+
499
+ <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
500
+
501
+ </a>
502
+
503
+ </div>
504
+
505
+ <?php endforeach;?>
506
+
507
+ <?php else:?>
508
+
509
+ <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
510
+
511
+ <P>該当する記事はありません</p>
512
+
513
+ <?php
514
+
515
+ endif;
516
+
517
+ wp_reset_postdata();
518
+
519
+ ?>
520
+
521
+ </div>
522
+
523
+ </section>
524
+
525
+
526
+
527
+ ```
528
+
529
+
530
+
531
+
532
+
533
+ ![イメージ説明](f3c2b53c31ddde649b0d2b7491f29901.png)
534
+
535
+
536
+
537
+ タームの紐付け作業は上記の画像の通り、役職が表示されており選択できるので
538
+
539
+ 問題ないと思ったのですがカウントの数が0のままになります。
540
+
541
+ ![イメージ説明](5b5f49ebbf23936cb950701c3c0bebe6.png)
542
+
543
+
544
+
545
+ 現在の状態においてどのような問題点が考えられますでしょうか?
546
+
547
+ 何度もお手数おかけして申し訳ないです。
548
+
549
+ よろしくお願いいたします。

4

nekoraさんのコード添削反映

2021/12/26 03:45

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -321,3 +321,103 @@
321
321
  ![イメージ説明](b499cdc2eb9a39216c1f416c2587e28d.png)
322
322
 
323
323
  ![イメージ説明](6d07adbca34a78a2f733644cb61f74dc.png)
324
+
325
+
326
+
327
+ 追記3:nekoraさんのコードを試した結果
328
+
329
+
330
+
331
+ ```php
332
+
333
+ <section class="member">
334
+
335
+ <div class="member__inner">
336
+
337
+ <?php
338
+
339
+ $args = array(
340
+
341
+ 'post_type' => 'member',
342
+
343
+ 'posts_per_page' => 4, // 表示する件数
344
+
345
+ 'orderby' => 'date', // 日付でソート
346
+
347
+ 'order' => 'DESC', // DESCで新しい、ASCで古い順に表示
348
+
349
+ 'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
350
+
351
+ array( //タクソノミー指定の時はarrayのarrayでないといけない
352
+
353
+ 'taxonomy' => 'position',
354
+
355
+ 'field' => 'slug',
356
+
357
+ 'terms' => array('position3'), //タームズなのでスラッグをarrayで指定。カンマで区切れば複数指定できるので汎用性が高い('field'が'slug'なので)
358
+
359
+ )
360
+
361
+ )
362
+
363
+ );
364
+
365
+ $posts = get_posts( $args );
366
+
367
+ if ( $posts ): ?>
368
+
369
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
370
+
371
+ <h3 class="member__inner__title"><?php the_field('position3', $post->ID); ?></h2>
372
+
373
+ <div class="member__inner__flex">
374
+
375
+ <a href="<?php echo get_permalink($post->ID); ?>" class="member__inner__flex__box">
376
+
377
+ <figure class="member__inner__flex__box__img">
378
+
379
+ <?php if ( has_post_thumbnail($post->ID) ): ?>
380
+
381
+ <?php echo get_the_post_thumbnail($post->ID); ?>
382
+
383
+ <?php else: ?>
384
+
385
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
386
+
387
+ <?php endif; ?>
388
+
389
+ </figure>
390
+
391
+ <h2 class="member__inner__flex__box__name"><?php echo get_the_title($post->ID); ?></h2>
392
+
393
+ </a>
394
+
395
+ </div>
396
+
397
+ <?php endforeach;?>
398
+
399
+ <?php else:?>
400
+
401
+ <!-- 要素が取れなかった時もそれがはっきり分かるようにif文のelseでその旨を出力するようにしたほうがいいです -->
402
+
403
+ <P>該当する記事はありません</p>
404
+
405
+ <?php
406
+
407
+ endif;
408
+
409
+ wp_reset_postdata();
410
+
411
+ ?>
412
+
413
+ </div>
414
+
415
+ </section>
416
+
417
+ ```
418
+
419
+
420
+
421
+ ![イメージ説明](cb1c5cd2f043f367ae3e9bd4e5669fa6.png)
422
+
423
+ 表示されませんでした

3

カスタム投稿、カスタムタクソノミーの設定画面の追加

2021/12/24 02:17

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -311,3 +311,13 @@
311
311
  検証ツール上では何も表示されていない状態です
312
312
 
313
313
  ![イメージ説明](a51a250d1aaccad8a821ffd0d54cfa3f.png)
314
+
315
+
316
+
317
+ 追記2:カスタム投稿、カスタムタクソノミーの設定画面
318
+
319
+ 今回上記を実装するにあたってプラグイン(Custom Post Type UI)を使用したので設定画面を載せます
320
+
321
+ ![イメージ説明](b499cdc2eb9a39216c1f416c2587e28d.png)
322
+
323
+ ![イメージ説明](6d07adbca34a78a2f733644cb61f74dc.png)

2

訂正後の一回目のコードを追記しました

2021/12/23 11:48

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -132,6 +132,86 @@
132
132
 
133
133
  1回目
134
134
 
135
+ ```php
136
+
137
+ <section class="member">
138
+
139
+ <div class="member__inner">
140
+
141
+ <?php
142
+
143
+ $args = array(
144
+
145
+ 'post_type' => 'member',
146
+
147
+ 'posts_per_page' => 4, // 表示する件数
148
+
149
+ 'orderby' => 'date', // 日付でソート
150
+
151
+ 'order' => 'DESC', // DESCで新しい、ASCで古い順に表示
152
+
153
+ 'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
154
+
155
+ 'taxonomy' => 'position',
156
+
157
+ 'field' => 'slug',
158
+
159
+ 'terms' => 'position3', //タームをスラッグで指定('field'が'slug'なので)
160
+
161
+ )
162
+
163
+ );
164
+
165
+ $posts = get_posts( $args );
166
+
167
+ if ( $posts ): ?>
168
+
169
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
170
+
171
+ <h3 class="member__inner__title"><?php the_field('position3'); ?></h2>
172
+
173
+ <div class="member__inner__flex">
174
+
175
+ <a href="<?php the_permalink(); ?>" class="member__inner__flex__box">
176
+
177
+ <figure class="member__inner__flex__box__img">
178
+
179
+ <?php if ( has_post_thumbnail() ): ?>
180
+
181
+ <?php the_post_thumbnail(); ?>
182
+
183
+ <?php else: ?>
184
+
185
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
186
+
187
+ <?php endif; ?>
188
+
189
+ </figure>
190
+
191
+ <h2 class="member__inner__flex__box__name"><?php the_title(); ?></h2>
192
+
193
+ </a>
194
+
195
+ </div>
196
+
197
+ <?php
198
+
199
+ endforeach;
200
+
201
+ endif;
202
+
203
+ wp_reset_postdata();
204
+
205
+ ?>
206
+
207
+ </div>
208
+
209
+ </section>
210
+
211
+
212
+
213
+ ```
214
+
135
215
  3件のカスタム投稿の内容が表示されているがタームの絞り込みは実装されていない状態
136
216
 
137
217
  ![イメージ説明](a85d38dd309356dbe25a98919a3c53cc.png)

1

CSSのタグの削除、nekoraさんの訂正後のコードを反映した結果

2021/12/23 07:11

投稿

kawausomaru
kawausomaru

スコア29

test CHANGED
File without changes
test CHANGED
@@ -121,3 +121,113 @@
121
121
  他にも必要な情報などありましたら教えて頂けると助かります。
122
122
 
123
123
  よろしくおねがいします。
124
+
125
+
126
+
127
+
128
+
129
+ 追記:nekoraさんのコードを試した結果
130
+
131
+
132
+
133
+ 1回目
134
+
135
+ 3件のカスタム投稿の内容が表示されているがタームの絞り込みは実装されていない状態
136
+
137
+ ![イメージ説明](a85d38dd309356dbe25a98919a3c53cc.png)
138
+
139
+
140
+
141
+ 2回目
142
+
143
+
144
+
145
+ ```php
146
+
147
+ <section class="member">
148
+
149
+ <div class="member__inner">
150
+
151
+ <?php
152
+
153
+ $args = array(
154
+
155
+ 'post_type' => 'member',
156
+
157
+ 'posts_per_page' => 4, // 表示する件数
158
+
159
+ 'orderby' => 'date', // 日付でソート
160
+
161
+ 'order' => 'DESC', // DESCで新しい、ASCで古い順に表示
162
+
163
+ 'tax_query' => array( //タクソノミーに関する指定はこの中にすべて
164
+
165
+ array( //タクソノミー指定の時はarrayのarray出ないといけない
166
+
167
+ 'taxonomy' => 'position',
168
+
169
+ 'field' => 'slug',
170
+
171
+ 'terms' => 'position3', //タームをスラッグで指定('field'が'slug'なので)
172
+
173
+ )
174
+
175
+ )
176
+
177
+ );
178
+
179
+ $posts = get_posts( $args );
180
+
181
+ if ( $posts ): ?>
182
+
183
+ <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?>
184
+
185
+ <h3 class="member__inner__title"><?php the_field('position3'); ?></h2>
186
+
187
+ <div class="member__inner__flex">
188
+
189
+ <a href="<?php the_permalink(); ?>" class="member__inner__flex__box">
190
+
191
+ <figure class="member__inner__flex__box__img">
192
+
193
+ <?php if ( has_post_thumbnail() ): ?>
194
+
195
+ <?php the_post_thumbnail(); ?>
196
+
197
+ <?php else: ?>
198
+
199
+ <img src="<?php echo get_template_directory_uri(); ?>/img/ni1.png" alt="西川カメラ1" alt="" class="">
200
+
201
+ <?php endif; ?>
202
+
203
+ </figure>
204
+
205
+ <h2 class="member__inner__flex__box__name"><?php the_title(); ?></h2>
206
+
207
+ </a>
208
+
209
+ </div>
210
+
211
+ <?php
212
+
213
+ endforeach;
214
+
215
+ endif;
216
+
217
+ wp_reset_postdata();
218
+
219
+ ?>
220
+
221
+ </div>
222
+
223
+ </section>
224
+
225
+ ```
226
+
227
+ 消えてしまいました
228
+
229
+ ![イメージ説明](546fbfe518a2bccfe01c40e7147db2fb.png)
230
+
231
+ 検証ツール上では何も表示されていない状態です
232
+
233
+ ![イメージ説明](a51a250d1aaccad8a821ffd0d54cfa3f.png)