デイトラweb制作(Word Press化その8)

デイトラの卒業課題を1日(1〜2時間)行なっています。

サービスページ(page-service.php)を作成する

・仕様を確認します。

固定ページを作成する

・管理画面から固定ページにサービスを作成する。

・スラッグ名をserviceにする。

・順序を設定する。

・静的に作成したhtmlをpage-service.phpにコピペする。

Q&A(カスタムフィルド)を使って作成する

・プラグイン(Advanced Custom Fields)をインストールする。

・管理画面のACFからフィールドを作成する。

・質問1〜8までを作成する。

・回答も1〜8まで作成する。

・使用するページを指定する

・固定ページ(サービス)に反映されているか確認する。

管理画面から編集できるように設定する

・静的に作成したQ&Aを動的にする。

・下記のコードに変更する。(最初は<?php if ( get_field(‘question1’)) : ?>の部分は入れません。または、コメントアウト)

<li class="p-service-faq__item">
   <?php if ( get_field('question1')) : ?>
     <button type="button" class="p-service-faq__question" aria-expanded="false">
       <span class="p-service-faq__question-text"><?php the_field('question1'); ?></span>
       <span class="p-service-faq__icon" aria-hidden="true"></span>
     </button>
     <div class="p-service-faq__answer">
       <p class="p-service-faq__answer-text">
         <?php the_field('answer1'); ?>
       </p>
     </div>
   <?php endif; ?>
</li>

‘question1’と’answer1’の1部分を1〜8でも作成します。

・表示を確認する。

・質問が1〜8個ある事を確認して、<?php if ( get_field(‘question1’)) : ?>部分を入れる。

・入力がない所は非表示になる事を確認する。

結果

今回はサービスページ(page-service.php)内にあるQ&Aをカスタムフィールドを使って作成してみました。

ACFが反映されているかを確認する際に編集画面に項目が表示されていないと思い地味に時間がかかりました。よく見るとメタボックスとの表示があり、そこに隠れていました。ちょっと分かりずらいです・・

Q&Aを動的にする際にループを使ってif文で条件処理させて8件を表示させればいいかなと考えていましたが、<?php the_field(”); ?>と<?php if ( get_field(”)) : ?>を使用するとシンプルで簡単ですね!

それにquestionとanswerの各ブロックをifで処理しないと駄目かと考えていましたが、全体を囲むだけで完結するとはとても便利です!

次はカスタム投稿(case)を作成します!

以上、デイトラweb制作(Word Press化その8)の状況でした。

ご依頼等ありましたら、下記のURLにお問い合わせ下さい。

お問い合わせはこちら

ポートフォリオサイトはこちらになります。

ポートフォリオサイトはこちら