回答編集履歴

5

補足3の追加

2020/11/26 11:35

投稿

khiro
khiro

スコア43

test CHANGED
@@ -356,4 +356,396 @@
356
356
 
357
357
 
358
358
 
359
+ ### 補足3
360
+
361
+ twentytwentyの以下の部分について、解説します。
362
+
363
+ ```PHP
364
+
365
+ if ( have_posts() ) {
366
+
367
+
368
+
369
+ $i = 0;
370
+
371
+
372
+
373
+ while ( have_posts() ) {
374
+
375
+ $i++;
376
+
377
+ if ( $i > 1 ) {
378
+
379
+ echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
380
+
381
+ }
382
+
383
+ the_post();
384
+
385
+
386
+
387
+ get_template_part( 'template-parts/content', get_post_type() );
388
+
389
+
390
+
391
+ }
392
+
393
+ }
394
+
395
+ ```
396
+
397
+ まず全体が、
398
+
399
+ ```PHP
400
+
401
+ if ( have_posts() ) {
402
+
403
+
404
+
405
+
406
+
407
+ }
408
+
409
+ ```
410
+
411
+ で囲まれてますね。
412
+
413
+
414
+
415
+ これは、もし投稿があれば中身が実行されるということです。
416
+
417
+
418
+
419
+ 次に、
420
+
421
+ ```PHP
422
+
423
+ $i = 0;
424
+
425
+ ```
426
+
427
+ ここでは、$iに0を入れています。この後で使います。
428
+
429
+
430
+
431
+ その下に、
432
+
433
+ ```PHP
434
+
435
+  while ( have_posts() ) {
436
+
437
+
438
+
439
+
440
+
441
+  }
442
+
443
+ ```
444
+
359
- 以上で
445
+ とありま
446
+
447
+
448
+
449
+ これは、投稿がある間は中身をずっと繰り返すということです。
450
+
451
+ 投稿が10件あれば、10回繰り返されます。
452
+
453
+
454
+
455
+ その直後の
456
+
457
+ ```PHP
458
+
459
+ $i++;
460
+
461
+ ```
462
+
463
+ は、自分自身に1を足すという意味です。
464
+
465
+
466
+
467
+ 一番最初の $i を思い出してください。
468
+
469
+ 0が入っていますね。
470
+
471
+
472
+
473
+ ```PHP
474
+
475
+ $i++;
476
+
477
+ ```
478
+
479
+ とすることで、 $i に 1 が入ります。
480
+
481
+
482
+
483
+ 2周目は、1 + 1 = 2
484
+
485
+ 3周目は、2 + 1 = 3
486
+
487
+ 4周目は、3 + 1 = 4
488
+
489
+
490
+
491
+ が、$i に入ります。
492
+
493
+
494
+
495
+ つまり、1周目だけ、$i に 1が入っています。
496
+
497
+
498
+
499
+ その次に
500
+
501
+ ```PHP
502
+
503
+ if ( $i > 1 ) {
504
+
505
+  echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
506
+
507
+ }
508
+
509
+ ```
510
+
511
+ とあります。
512
+
513
+
514
+
515
+ ```PHP
516
+
517
+ if ( $i > 1 ) {
518
+
519
+
520
+
521
+ }
522
+
523
+ ```
524
+
525
+ これは、もし$i が1よりも大きい時、中身を実行するという意味です。
526
+
527
+
528
+
529
+ 中身は、こちらでしたね。
530
+
531
+ ```PHP
532
+
533
+ echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
534
+
535
+ ```
536
+
537
+ これは、以下を表示するという意味です。
538
+
539
+ ```HTML
540
+
541
+ <hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />;
542
+
543
+ ```
544
+
545
+ 記事同士を区切っている線のことです。
546
+
547
+
548
+
549
+ ```PHP
550
+
551
+ if ( $i > 1 ) {
552
+
553
+  echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
554
+
555
+ }
556
+
557
+ ```
558
+
559
+ ということは、$i が2以上の時、つまり、2つ目の投稿から
560
+
561
+ 区切り線を表示するということです。
562
+
563
+
564
+
565
+ その次の
566
+
567
+ ```PHP
568
+
569
+ the_post();
570
+
571
+ ```
572
+
573
+ では、投稿のデータを取得しています。
574
+
575
+
576
+
577
+ ここでは、template-parts というフォルダの、content.php を読み込んでます。
578
+
579
+ ```PHP
580
+
581
+ get_template_part( 'template-parts/content', get_post_type() );
582
+
583
+ ```
584
+
585
+
586
+
587
+ 長いですが、content.php は以下です。
588
+
589
+ ```PHP
590
+
591
+ <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
592
+
593
+
594
+
595
+ <?php
596
+
597
+
598
+
599
+ get_template_part( 'template-parts/entry-header' );
600
+
601
+
602
+
603
+ if ( ! is_search() ) {
604
+
605
+ get_template_part( 'template-parts/featured-image' );
606
+
607
+ }
608
+
609
+
610
+
611
+ ?>
612
+
613
+
614
+
615
+ <div class="post-inner <?php echo is_page_template( 'templates/template-full-width.php' ) ? '' : 'thin'; ?> ">
616
+
617
+
618
+
619
+ <div class="entry-content">
620
+
621
+
622
+
623
+ <?php
624
+
625
+ if ( is_search() || ! is_singular() && 'summary' === get_theme_mod( 'blog_content', 'full' ) ) {
626
+
627
+ the_excerpt();
628
+
629
+ } else {
630
+
631
+ the_content( __( 'Continue reading', 'twentytwenty' ) );
632
+
633
+ }
634
+
635
+ ?>
636
+
637
+
638
+
639
+ </div><!-- .entry-content -->
640
+
641
+
642
+
643
+ </div><!-- .post-inner -->
644
+
645
+
646
+
647
+ <div class="section-inner">
648
+
649
+ <?php
650
+
651
+ wp_link_pages(
652
+
653
+ array(
654
+
655
+ 'before' => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
656
+
657
+ 'after' => '</nav>',
658
+
659
+ 'link_before' => '<span class="page-number">',
660
+
661
+ 'link_after' => '</span>',
662
+
663
+ )
664
+
665
+ );
666
+
667
+
668
+
669
+ edit_post_link();
670
+
671
+
672
+
673
+ // Single bottom post meta.
674
+
675
+ twentytwenty_the_post_meta( get_the_ID(), 'single-bottom' );
676
+
677
+
678
+
679
+ if ( post_type_supports( get_post_type( get_the_ID() ), 'author' ) && is_single() ) {
680
+
681
+
682
+
683
+ get_template_part( 'template-parts/entry-author-bio' );
684
+
685
+
686
+
687
+ }
688
+
689
+ ?>
690
+
691
+
692
+
693
+ </div><!-- .section-inner -->
694
+
695
+
696
+
697
+ <?php
698
+
699
+
700
+
701
+ if ( is_single() ) {
702
+
703
+
704
+
705
+ get_template_part( 'template-parts/navigation' );
706
+
707
+
708
+
709
+ }
710
+
711
+
712
+
713
+ /**
714
+
715
+ * Output comments wrapper if it's a post, or if comments are open,
716
+
717
+ * or if there's a comment number – and check for password.
718
+
719
+ * */
720
+
721
+ if ( ( is_single() || is_page() ) && ( comments_open() || get_comments_number() ) && ! post_password_required() ) {
722
+
723
+ ?>
724
+
725
+
726
+
727
+ <div class="comments-wrapper section-inner">
728
+
729
+
730
+
731
+ <?php comments_template(); ?>
732
+
733
+
734
+
735
+ </div><!-- .comments-wrapper -->
736
+
737
+
738
+
739
+ <?php
740
+
741
+ }
742
+
743
+ ?>
744
+
745
+
746
+
747
+ </article><!-- .post -->
748
+
749
+ ```
750
+
751
+ これが、一つ一つの投稿です。

4

補足2

2020/11/26 11:35

投稿

khiro
khiro

スコア43

test CHANGED
@@ -220,4 +220,140 @@
220
220
 
221
221
 
222
222
 
223
- 以上で高さが揃いました。
223
+ 以上で一つ一つの投稿の高さが揃いました。
224
+
225
+
226
+
227
+ ### 補足2
228
+
229
+ 画像の高さを揃えるには、まず**img-wrap**で**<img>**を囲います。(計10箇所)
230
+
231
+ ```HTML
232
+
233
+ <div class="img-wrap">
234
+
235
+ <img loading="lazy" class="aligncenter size-full wp-image-269" src="http://ictaga.com/members/okui/wp-content/uploads/2020/09/minori.jpg" alt="" width="768" height="576">
236
+
237
+ </div>
238
+
239
+ ```
240
+
241
+ **img-wrap**に適応させるCSSはこちら
242
+
243
+ ```CSS
244
+
245
+ .img-wrap {
246
+
247
+ height: 150px;
248
+
249
+ margin: 1rem 0;
250
+
251
+ overflow-y: hidden;
252
+
253
+ }
254
+
255
+ ```
256
+
257
+ そうすると、タイトルが1行と2行の2パターン存在してしまい、画像の高さが少しだけ揃わなくなります。
258
+
259
+ そこで、タイトルが共通で持っている**entry-title**というクラスに以下のCSSを適応させます。
260
+
261
+ ```CSS
262
+
263
+ .entry-title {
264
+
265
+ width: 100%;
266
+
267
+ display: -webkit-box;
268
+
269
+ -webkit-line-clamp: 1;
270
+
271
+ -webkit-box-orient: vertical;
272
+
273
+ overflow: hidden;
274
+
275
+ }
276
+
277
+ ```
278
+
279
+ さらに、デバイスごとの横幅にも対応します。
280
+
281
+ 以下の記述があることを確認し、
282
+
283
+ ```HTML
284
+
285
+ <head>
286
+
287
+
288
+
289
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
290
+
291
+
292
+
293
+ </head>
294
+
295
+ ```
296
+
297
+ デバイスの横幅が699pxまでの、投稿全体を覆う要素の幅を定義します。
298
+
299
+ ```CSS
300
+
301
+ .article-wrap {
302
+
303
+ width: 256px;
304
+
305
+ }
306
+
307
+ ```
308
+
309
+ 700pxから
310
+
311
+ ```CSS
312
+
313
+ @media screen and (min-width: 700px) {
314
+
315
+ .article-wrap {
316
+
317
+ width: 590px;
318
+
319
+ }
320
+
321
+ }
322
+
323
+ ```
324
+
325
+ 1166pxから
326
+
327
+ ```CSS
328
+
329
+ @media screen and (min-width: 1166px) {
330
+
331
+ .article-wrap {
332
+
333
+ width: 870px;
334
+
335
+ justify-content: flex-start;
336
+
337
+ }
338
+
339
+ }
340
+
341
+ ```
342
+
343
+ 一つ一つの投稿は、以下のようにCSSを調整しました
344
+
345
+ ```CSS
346
+
347
+ article {
348
+
349
+ min-width: 262px;
350
+
351
+ margin: 0 .5rem 3rem;
352
+
353
+ }
354
+
355
+ ```
356
+
357
+
358
+
359
+ 以上です!

3

文章の修正

2020/11/24 14:32

投稿

khiro
khiro

スコア43

test CHANGED
@@ -220,4 +220,4 @@
220
220
 
221
221
 
222
222
 
223
- 以上で高さが揃うかと思いま
223
+ 以上で高さが揃いました

2

補足

2020/11/24 05:31

投稿

khiro
khiro

スコア43

test CHANGED
@@ -134,7 +134,7 @@
134
134
 
135
135
 
136
136
 
137
- jquery-3.5.1.min.jsを作成し、[このページ](https://jquery.com/download/)の以下の箇所をクリックした後のページから本体のコードをコピペします。
137
+ assets/jsに、jquery-3.5.1.min.jsを作成し、[このページ](https://jquery.com/download/)の以下の箇所をクリックした後のページから本体のコードをコピペします。
138
138
 
139
139
  ![イメージ説明](bd0d5c82501704ca4ad292caf168f630.png)
140
140
 
@@ -148,7 +148,7 @@
148
148
 
149
149
 
150
150
 
151
- jquery.matchHeight.jsを作成し、[このページ](https://raw.githubusercontent.com/liabru/jquery-match-height/master/jquery.matchHeight.js)からjquery.matchHeight.jsをコピペします。
151
+ assets/jsに、jquery.matchHeight.jsを作成し、[このページ](https://raw.githubusercontent.com/liabru/jquery-match-height/master/jquery.matchHeight.js)からjquery.matchHeight.jsをコピペします。
152
152
 
153
153
  ```jQuery
154
154
 

1

補足説明

2020/11/24 05:30

投稿

khiro
khiro

スコア43

test CHANGED
@@ -121,3 +121,103 @@
121
121
  そのため、以下の箇所が計10回繰り返されています。
122
122
 
123
123
  ![イメージ説明](ba643e9cfa0baac8566a656ff39f99c9.png)
124
+
125
+
126
+
127
+ ### 補足
128
+
129
+ [jquery.matchHeight](https://github.com/liabru/jquery-match-height)で、一つ一つのアイテムの高さを揃えました。
130
+
131
+
132
+
133
+ 1 jQueryの本体を準備する
134
+
135
+
136
+
137
+ jquery-3.5.1.min.jsを作成し、[このページ](https://jquery.com/download/)の以下の箇所をクリックした後のページから本体のコードをコピペします。
138
+
139
+ ![イメージ説明](bd0d5c82501704ca4ad292caf168f630.png)
140
+
141
+ ```jQuery
142
+
143
+ コピペしたコード
144
+
145
+ ```
146
+
147
+ 2 jquery.matchHeight.jsを準備する
148
+
149
+
150
+
151
+ jquery.matchHeight.jsを作成し、[このページ](https://raw.githubusercontent.com/liabru/jquery-match-height/master/jquery.matchHeight.js)からjquery.matchHeight.jsをコピペします。
152
+
153
+ ```jQuery
154
+
155
+ コピペしたコード
156
+
157
+ ```
158
+
159
+ 3 自分でスクリプトを用意する
160
+
161
+
162
+
163
+ 例えば、script.jsを用意します。
164
+
165
+ ```jQuery
166
+
167
+ (function ($) {
168
+
169
+
170
+
171
+ $('.item').matchHeight(
172
+
173
+ {
174
+
175
+ byRow: true,
176
+
177
+ property: 'height',
178
+
179
+ target: null,
180
+
181
+ remove: false
182
+
183
+ }
184
+
185
+ );
186
+
187
+
188
+
189
+ })(jQuery);
190
+
191
+ ```
192
+
193
+ 4 一つ一つの要素に同じクラスを付ける
194
+
195
+
196
+
197
+ **item**というクラスを以下の場所に付けます。(計10箇所)
198
+
199
+ ```HTML
200
+
201
+ <article class="item post-268 post type-post status-publish format-standard has-post-thumbnail hentry category-kindergarten" id="post-268">
202
+
203
+ ```
204
+
205
+ 5 3つのファイルを読み込む
206
+
207
+
208
+
209
+ ```HTML
210
+
211
+  <script src="assets/js/jquery-3.5.1.min.js"></script>
212
+
213
+ <script src="assets/js/jquery.matchHeight.js"></script>
214
+
215
+ <script src="assets/js/script.js"></script>
216
+
217
+ </body>
218
+
219
+ ```
220
+
221
+
222
+
223
+ 以上で高さが揃うかと思います。