LoginSignup
0
0

More than 3 years have passed since last update.

カスタムフィールドのメモ

Last updated at Posted at 2019-10-01

カスタムフィールドを実装したい

WordPressのカスタムフィールドは、投稿にタイトルやコンテンツ以外の入力欄を追加できる機能。

ECサイトなど、ある程度決まったフォーマットで様々なコンテンツを作成する必要があるときに効果的。

例えば、
- ファイルをアップロードできる
- チェックボックスやラジオボタンで選択できる
- 決まった項目を入力するテキストボックス
など

投稿画面にカスタムフィールドを追加する方法

導入が簡単かつ、効率的な運営ができるのがプラグインを使った方法。

Custom Field Templateが使いやすそうと感じた。

カスタムフィールドの基本的な仕組み
入力欄に入力された内容は、「ポストメタ(post_meta)と呼ばれるデータとして、投稿本体と一緒にデータベースに保存される。
入力内容をページに表示するためには、保存されたポストメタを取得し、HTMLに出力するようなプログラムをテンプレートファイルに記述する必要がある。

テンプレートコンテンツの設定例

[link]
type=checkbox
value = linknone
valueLabel = リンクなし

1行目の[]で囲まれた部分。
これが、テキストフィールドに入力された値を取得するのに必要な「キー」になる

値を取得するには、post_custom()関数を使います。
値をHTMLに出力するのではなく、返す。

取得した値が文字列の場合、文字列が返ってくる。
値を取得できなかった場合、falceが返ってくる。

post_custom('link')

入力欄がテキストフィールドやテキストエリアだった場合→文字列が返る
チェックボックスやラジオボタンなど値が複数の場合→配列が返る

カスタムフィールドの値を使った条件分岐

<?php if(post_custom('link')):?>
//値が取得できたときに行う処理
<?php endif;?>

チェックボックスの値を一つずつ処理する

<?php $post_custom = post_custom('link')(
//取得した値を変数$post_customに代入
if($post_custom):
//$post_customがfalse出ない時だけ処理
?>

プラグインAdvanced Custom Fieldsが使いやすかった

https://www.kerenor.jp/advanced-custom-fields-checkbox/
https://www.kerenor.jp/loop-sorted-by-customfield/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0