カスタムフィールド作成プラグイン「Advanced Custom Fields」

①カスタムフィールドを作成

移動はここにカーソルを当てる

②表示するためのPHPを作成

  • 以下例では、入力項目にそれぞれ見出しをつけ表示させ、下部にif文を使って入力のカテゴリーと合った申込フォームを表示させている。
  • 作成したphpをそのまま表示させたい箇所に記述する場合は④へ、customfield.php フォルダを作成し、FTPでアップする場合は⑤へ。

 <?php if(get_field('year')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">開催年度</h4>
  <p>
    <?php the_field('year'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('type')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">講習種別</h4>
  <p>
    <?php the_field('type'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('theme')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">テーマ</h4>
  <p>
    <?php the_field('theme'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('event_year01')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">開催日程1</h4>
  <p>
    <?php the_field('event_year01'); ?>
    <br>
    <?php the_field('event_day01'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('event_year02')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">開催日程2</h4>
  <p>
    <?php the_field('event_year02'); ?>
    <br>
    <?php the_field('event_day02'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('contents')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">内容</h4>
  <p>
    <?php the_field('contents'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('place')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">会場</h4>
  <p>
    <?php the_field('place'); ?>
    <br>
    <?php the_field('postal_code'); ?>
    <br>
    <?php the_field('address01'); ?>
    <?php the_field('address02'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('teacher01_name')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">講師</h4>
  <p>
    <?php the_field('teacher01_name'); ?>
    <br>
    <?php the_field('teacher01_post'); ?>
  </p>
  <p>
    <?php the_field('teacher02_name'); ?>
    <br>
    <?php the_field('teacher02_post'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('fee')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">受講費</h4>
  <p>
    <?php the_field('fee'); ?>
    円</p>
  <?php endif; ?>
  <?php if(get_field('capacity')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">定員</h4>
  <p>
    <?php the_field('capacity'); ?>
    名</p>
  <p>※
    <?php the_field('capacity_memo'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('organizer')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">主催</h4>
  <p>
    <?php the_field('organizer'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('deadline')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">締め切り</h4>
  <p>
    <?php
    $date = get_field( 'deadline' );
    $date2 = date( "Y年n月j日", strtotime( $date ) );
    ?>
    <?php echo $date2; ?> </p>
  <?php endif; ?>
  <?php if(get_field('detail_url')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">詳細URL</h4>
  <p class="mbt underline">URL:<a href="<?php the_field('detail_url'); ?>" target="_blank">
    <?php the_field('detail_url'); ?>
    </a></p>
  <?php endif; ?>
  <?php if(get_field('detail_pdf')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">詳細PDF</h4>
  <p class="mbt">
    <?php
    $filefiled = get_field( 'detail_pdf' );
    if ( !empty( $filefiled ) ) {
      ?>
    <a class="q_button rounded sz_s" href="<?php echo $filefiled['url']; ?>" target="_blank">詳細を確認(PDFファイル)</a>
    <?php } ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('contact')): ?>
  <h4 class="style4a" style="border-color: #00aa8e;">問い合せ先</h4>
  <p>
    <?php the_field('contact'); ?>
  </p>
  <?php endif; ?>
  <?php if(get_field('form_type')): ?>
  <div style="margin-bottom: 2em";></div>
  <h3 class="style3b" style="border-top-color: #00aa8e;">申し込みフォーム</h3>
  <br>
  <?php endif; ?>
  <?php if( get_field('form_type') == 'intro01' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S442446488/?_ga=2.195704684.1359645274.1652536179-1039902909.1652536179&_gl=1*3mybo8*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php elseif ( get_field('form_type') == 'intro02' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S78732039/?_ga=2.161708668.1359645274.1652536179-1039902909.1652536179&_gl=1*1axjqz5*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php elseif ( get_field('form_type') == 'intro03' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S78732039/?_ga=2.161708668.1359645274.1652536179-1039902909.1652536179&_gl=1*1axjqz5*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php elseif ( get_field('form_type') == 'basic' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S78732039/?_ga=2.161708668.1359645274.1652536179-1039902909.1652536179&_gl=1*1axjqz5*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php elseif ( get_field('form_type') == 'high' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S78732039/?_ga=2.161708668.1359645274.1652536179-1039902909.1652536179&_gl=1*1axjqz5*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php elseif ( get_field('form_type') == 'info' ) : ?>
  <iframe src="https://ws.formzu.net/fgen/S78732039/?_ga=2.161708668.1359645274.1652536179-1039902909.1652536179&_gl=1*1axjqz5*_ga*MTAzOTkwMjkwOS4xNjUyNTM2MTc5*_ga_XRHQG0MQ55*MTY1MjUzODUzMi4yLjEuMTY1MjU0MDk4NC4w" style="height: 2200px; max-width: 700px; width: 100%; border: 0;"></iframe>
  <?php else: ?>
  <?php endif; ?>
</div>

④表示させるタグをページテンプレートのループ内に直接記述する場合(例:single-news.php)

~
          <?php the_post_thumbnail( 'full' ); ?>
          </div>
          <?php endif; ?>
			
<!-- カスタムフィールド表示ここから -->
<div class="custom_field">
<p class="mbt"><?php
$selectfiled= get_field('session_type');
?>
<?php the_field('session_type'); ?>
の情報を公開しました。</p>
<p class="mbt">詳細、お申し込みは以下リンク先からお願いいたします。</p>
<p class="mbt underline">URL:<a href="<?php the_field('session_url'); ?>">
<?php the_field('session_url'); ?></a></p>
</div>
<!-- カスタムフィールド表示ここまで -->

          <div class="p-entry__body">
 ~

⑤customfield.php の内容を表示させる場合

※カスタムフィールド表示にスタイルを当てたかったので、custom_fieldクラスを指定している

          <?php if ( $dp_options['show_thumbnail']  && has_post_thumbnail() ) : ?>
  	      <div class="p-entry__img p-entry__img--lg">
            <?php the_post_thumbnail( 'full' ); ?>
          </div>
          <?php endif; ?>
			
<!-- カスタムフィールド表示ここから -->
<div class="custom_field">
<?php get_template_part( 'customfield' ); ?>
</div>	
<!-- カスタムフィールド表示ここまで -->
				
          <div class="p-entry__body">
          <?php
          the_content();

④⑤に追加したコードは、テーマのアップデート時に消えてしまうので、注意

[speech_balloon_left1 user_image_url="http://miyabido.co.jp/test/web/wp-content/themes/rebirth_free001/img/common/no_avatar.png" user_name=""]どのphpファイルで表示しているかわからない時はプラグイン
「What The File」が便利![/speech_balloon_left1]

functions.phpでカスタムフィールドを追加する | cly7796.net

WordPressのfunctions.phpを使って、カスタムフィールドを追加してみます。 カスタムフィールドの追加 デフォルトの投稿にカスタムフ

WordPressカスタマイズに必要なphpの基本知識 │ Webトビラ

WordPressをカスタマイズするにあたってphpの基本的な知識を知らずに適当にいじってしまうと画面が真っ白…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です