Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第18回WordBench羽田ーカスタムフィールドを活用しよう

ryuh_a
March 26, 2018

 第18回WordBench羽田ーカスタムフィールドを活用しよう

LT資料
開催日:2018年3月25日

ryuh_a

March 26, 2018
Tweet

More Decks by ryuh_a

Other Decks in Technology

Transcript

  1. 使い方(値取得:ショートコード1) テーマ(※1)functions.phpに以下のようなショートコードを記述する。 function getHelloworld(){ $helloworld = esc_html( get_post_meta( get_the_ID(), ‘helloworld',

    true ) ); return $helloworld; } add_shortcode('viewHelloworld', 'getHelloworld'); ※1 functions.phpはテーマを更新すると上書きされますので、子テーマを作成するな ど対策が必要です。
  2. 使い方(値取得:テンプレートファイル編集1-3) < Source code > <?php // IFでカスタムフィールドに値が入っている場合のみHTMLタグを追加 if( get_post_meta(

    $post->ID, 'puppy-db-url', true ) ): ?> <!-- 追加するボタン(リンク)のHTMLタグ --> <div class="puppy-db-link"><a href="<?php echo esc_url( get_post_meta( $post->ID, 'puppy-db-url', true ) ); ?>" title="<?php the_title(); ?>" target="_blank">詳細・お問合せはこちら</a></div> <?php // IFここまで endif; ?>
  3. 使い方(値取得:テンプレートファイル編集2-3) < Source code > <!-- IF文:値が”1”ではない場合 --> <?php if(

    !get_post_meta( $post->ID, 'selling-state', true ) == '1' ): ?> <!-- 追加されるHTMLタグ --> <div class="puppy-info-sale"><?php echo esc_html( 'オーナー様募集中' ); ?></div> <!-- 値が”1”の場合 --> <?php else: ?> <!-- 追加されるHTMLタグ --> <div class="puppy-info-sold-out"><?php echo esc_html( 'オーナー様決定しました。' ); ?></div> <?php endif; ?>
  4. 使い方(Contact Form 7との連携2) コンタクトフォームの編集に以下のコードを登録します。 <p class="no-display">子犬ID番号<br /> [text* puppy-id default:post_meta]</p>

    ※HTMLタグの<p>タグは別のタグでも問題ありません。 上記の場合、CSSで非表示(display: none;)にしています。