Advanced Custom Fields(通称:ACF)の使い方についての備忘録です。
この記事ではフィールドタイプ「数値」の設定と出力する方法について解説しています。
フィールド項目を入力するところからの解説となりますので、あらかじめご了承ください。
↓フィールドグループを新規追加するまでの手順はコチラを参照してください
Advanced Custom Fields – テキストを出力
目次
数値のフィールド項目を入力
フィールドの項目を入力するところからやっていきます。
今回設定したフィールドの項目は以下の通り。
フィールド項目 | 入力値 | 説明 |
---|---|---|
フィールドラベル | 商品価格 | 編集画面で表示される名前 |
フィールド名 | num | サイトに表示するときに指定するフィールド名 |
フィールドタイプ | 数値 | フィールドタイプを選択 |
説明 | このフィールドは商品の金額を入力します | このフィールドに対する説明を入力 |
プレースホルダーのテキスト | ここに金額を入力してください | 入力欄に表示されるテキスト |
先頭に追加 | 金額 | 入力欄の先頭に表示されるテキスト |
末尾に追加 | 円 | 入力欄の末尾に表示されるテキスト |
最小値 | 100 | 最小値を入力 |
入力が完了したら「公開」をクリックして保存します。
投稿画面を表示すると先程設定したカスタムフィールドが表示されました。
仮に入力を「10」としてみましょう。
先程最小値を「100」としたので、しっかりとバリデーションがかかりました。
では、入力する値を直します。
今回は値を「1000」として公開をしました。
ACF 数値フィールドの値を表示する
ACFのカスタムフィールドの値を出力するにはthe_field( )
関数を使います。
先程入力した数値を表示させたいところに下記コードを記述します。
<?php the_field('num'); ?>
確認してみます。
これで数値が表示されました。
今回は商品価格なので数字の千の位ごとに「,」を入れたいと思います。
どうするかというと ACF の関数get_field( )
で値を取得し、PHP関数のnumber_format( )
でフォーマットします。
このPHP関数はパラメータが 1 つだけ渡された場合、千の位ごとにカンマ 「,」 が追加され、小数なしでフォーマットしてくれる関数になります。
コードは以下のようになります。
<?php
$price = number_format(get_field('num'));
echo $price . '円';
?>
ついでに「円」も一緒に表示させるようにしました。
では確認してみます。
千の位の間に「,」が入りました。
以上です。