この記事にはプロモーションが含まれています。

【ACF】日付選択ツールで出力する日付の形式を自由に調整する方法

【ACF】日付選択ツールで出力する日付の形式を自由に調整する方法

ケケンタ

WordPressのプラグインでACFをよく使うけど、「日付選択ツール」の出力形式をもっと自由に調整したいなあ……

今回はこのようなお悩みをお持ちの方に向けて、WordPressのプラグインのひとつ

ACF(Advanced Custom Fields)の日付選択ツールの出力形式を自由に調整する方法

について解説します。

ACF(Advanced Custom Fields)とは?

ACFは誰でも簡単にカスタムフィールドの追加・編集を可能にする、WordPressプラグインのひとつです。

カスタムフィールドを自作しようとすると、functions.phpに何行ものコードを記述する必要があり手間がかかりますが、ACFを利用することで簡単に様々な種類のカスタムフィールドを導入できます。

ケケンタ

今回の記事で解説するのは、ACFで設定可能なカスタムフィールドの内、「日付選択ツール」に関する内容です。

記事の後半では年月日の0埋めを無くす方法も解説しています。




ケケンタ

ケケンタのITブログでは、WebアプリPHPLaravel)やWeb制作WordPressコーディング)について情報を発信しています。
学習中の方や実務をされている方など多くの方にアクセスいただいていますので、ぜひほかの記事も参考にしてみてください!


運動不足、気になっていませんか?

もしプログラミング学習やお仕事で運動不足が気になっているなら
連続屈伸運動がおすすめです!

ボタンにカーソルを合わせるだけ
カウントダウンが始まるタイマーをご用意してみました!

ケケンタ

無理のない範囲で、ぜひ隙間時間に屈伸運動を取り入れてみて下さい!

タイマースタート

3:00

※運動不足だと連続3分で取り組んでもかなり息が切れます
(僕は加えて気分もちょっと悪くなりました……)
絶対にご無理の無い範囲でお取り組みください!


目次

ACFで設定したカスタムフィールドの値を出力するときの基本形

ACFを使用するとカスタムフィールドを簡単に設定することが可能ですが、その際、編集ページで入力・保存された値を実際にページ上へ出力するためにはテンプレートファイルにプログラムを記述する必要があります。

例えば、「日付選択ツール」における基本的な設定・出力用プログラム・出力結果は以下の通りです。

基本的な設定

ACF「日付選択ツール」の基本的な設定

出力用のプログラム

<?php 
if(get_field('date')) {
  the_field('date');
}
?>

get_field(‘date’)……カスタムフィールド[date]の値を取得する
the_field(‘date’)……カスタムフィールド[date]の値を出力する

出力結果

ACFの「日付選択ツール」の基本設定機能では実現できないこと

通常の使用方法でも設定項目の以下の箇所で、ある程度の出力形式を任意に設定することが可能です。

ACFの「日付選択ツール」で出力形式を設定している様子
ケケンタ

しかし、例えば以下のように「年」と「月日」を分割して出力するといったことは、標準の設定機能だけでは実現することができません。

以下のような出力は、標準の設定機能では実現できない

「年」と「月日」を分割して出力する

ACFで年月日を分割して出力した様子

ACFの「日付選択ツール」で出力形式を自由に調整する方法

ケケンタ

先ほどのように「年月日」を別々に出力したい場合には、ACFから取得した日付情報をPHPの処理で分割する必要があります。

以下は「年月日」を「年」と「月日」に分割して出力するコードです。

<?php 
if(get_field('date')) {

	// 日付情報を取得
	$dateStr = get_field('date');

	/* *** 年月日を分割する ***
     * ACFの設定で出力形式(戻り値の形式)を「Y/m/d」という形で「/」区切りにしておき、
     * その区切り文字「/」を利用してexplode関数で分割している
     */
	$dateStr = explode("/",$dateStr);

    // 分割した「年月日」をそれぞれの変数に格納
	$year  = $dateStr[0];
	$month = $dateStr[1];
	$day   = $dateStr[2];

	// 月日の出力
	echo $month . '月' . $day . '日';
				
	echo '<br>';

	// 年の出力
	echo $year . '年';
}
?>

このような処理を記述することで、以下のように年月日を分割した出力が実現可能です。

ACFで年月日を分割して出力した様子

また、「05」というような0埋めを無くしたいときには、以下のようにintval関数で年月日情報を数値型に変換すればOKです。

0埋めを無くしたいときはintval関数を使用

<?php
if(get_field('date')) {

	~ 中略 ~

	// 月日の出力
	echo intval($month) . '月' . intval($day) . '日';
				
	~ 中略 ~
}
?>
ACFで年月日を分割して出力した様子(0埋めを無くす)

PHPも活用すればACFの出力形式も自由自在

以上がACFの「日付選択ツール」の出力形式を自由に調整する方法でした。

WordPressのプラグインは便利ですが、今回お伝えしたように、ほとんどの場合は何かしら機能的な制限があります。

そのようなときにPHPの標準的なプログラムを活用することでできることの幅が一気に広がります。

今回はその中の一例について解説してみました。

ケケンタ

この記事がお役に立ったなら何よりです!

ACFで日付選択ツールで出力する日付の形式を自由に調整する方法のアイキャッチ

この記事が気に入ったら
フォローしてね!

この記事が良いと思ったらシェアしてね!

コメント

コメントする

CAPTCHA


目次