Slide 1

Slide 1 text

第18回WordBench羽田 カスタムフィールドを活用しよう。 (補足追記版) Ryu

Slide 2

Slide 2 text

自己紹介 • ペットショップさくら 子犬の仲介販売サイトを運営しています。 http://pet-shop-sakura.com/ 動物取扱業登録 【販売】川崎市24幸販第1号 【保管】川崎市24幸保第1号 • 40代のおっさんです。

Slide 3

Slide 3 text

得意分野・趣味など • ネットワーク系(IPルーティング、VPNなど) • 機械いじり(事務機器など) • 犬猫の飼育指導 • 一眼レフ(Canon EOS KISS X7i) • WordPress(勉強中) • Ruby on Rails(勉強を始めた超初心者) • ロードバイク

Slide 4

Slide 4 text

カスタムフィールドって何? WordPress Codex 「カスタムフィールドの使い方」によると WordPress には、投稿者が投稿に「カスタムフィールド」を追加できる機能がありま す。この任意の情報は「メタデータ」と呼ばれており・・・ http://wpdocs.osdn.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3% 82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E4%BD%BF%E3%81%84%E6%96% B9

Slide 5

Slide 5 text

つまり 任意の情報をメタデータとして、投稿に追加できる機能です。

Slide 6

Slide 6 text

何に使えるの? アイデア次第でいろいろなことに使えるかもしれません。 入力する場所が投稿記事と別れている為、記事を再編集するような場合(特に再編 集することがあらかじめわかっているような場合※1)に変更箇所を探す必要がなくな ります。 ※1:Example • ECサイトなどの商品のページで、ステータスが“販売中”→“売約済み”となるよう なもの • ユーザーに対して入力箇所を制限したいような場合

Slide 7

Slide 7 text

例えば • サブループを使用して、複数の場所でデータを使用する • フラグをたてて、ステータスの変更をする • 固定ページ、投稿内で使用する • 他のプラグイン(Ex.Contact Form 7)と連携する ・・・・など

Slide 8

Slide 8 text

使い方(登録方法1)

Slide 9

Slide 9 text

使い方(登録方法2)

Slide 10

Slide 10 text

使い方(登録方法3) 新規追加より 名前 : helloworld 値 : 任意の値(例えば、 WordPressの世界にようこそ!)

Slide 11

Slide 11 text

使い方(値取得方法) カスタームフィールドに登録した値を取得する方法は、以下のようなものがあります。 1. ショートコードによる取得 2. WordPressのテンプレートファイルを編集する get_post_meta($post_id, $key, $single); 3. プラグインを使用する 例):Advanced Custom Fields

Slide 12

Slide 12 text

使い方(値取得:ショートコード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はテーマを更新すると上書きされますので、子テーマを作成するな ど対策が必要です。

Slide 13

Slide 13 text

使い方(値取得:ショートコード2) 投稿記事に以下のショートコードを追加して、公開すると、カスタムフィールドに登録 した値が表示されると思います。 [viewHelloworld]

Slide 14

Slide 14 text

使い方(値取得:テンプレートファイル編集) テンプレートファイル内でカスタムフィールドの値を取得する場合、以下の関数を利用 します。 get_post_meta($post_id, $key, $single); ※ループ内で使用すること ※詳細はWordPress Codex 日本語版をご参照ください。 http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3% 83%AC%E3%83%B3%E3%82%B9/get_post_meta

Slide 15

Slide 15 text

使い方(値取得:テンプレートファイル編集1-1) カスタムフィールドに登録したURLを使いリンクボタンを追加する

Slide 16

Slide 16 text

使い方(値取得:テンプレートファイル編集1-2) <ブラウザで表示した場合>

Slide 17

Slide 17 text

使い方(値取得:テンプレートファイル編集1-3) < Source code > ID, 'puppy-db-url', true ) ): ?>

Slide 18

Slide 18 text

使い方(値取得:テンプレートファイル編集2-1) カスタムフィールドにフラグを登録してステータスを変更する場合

Slide 19

Slide 19 text

使い方(値取得:テンプレートファイル編集2-2) <ブラウザ表示>

Slide 20

Slide 20 text

使い方(値取得:テンプレートファイル編集2-3) < Source code > ID, 'selling-state', true ) == '1' ): ?>

Slide 21

Slide 21 text

使い方(Contact Form 7との連携1) カスタムフィールドの値をコンタクトフォームで使用する場合

Slide 22

Slide 22 text

使い方(Contact Form 7との連携2) コンタクトフォームの編集に以下のコードを登録します。

子犬ID番号
[text* puppy-id default:post_meta]

※HTMLタグの

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

Slide 23

Slide 23 text

ご清聴ありがとうございました。 次回:WordPressのセキュリティー対策について考える おしまい