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

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

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

ケケンタ

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

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

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

について解説します。

ACF(Advanced Custom Fields)とは?

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

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

ケケンタ

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

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

目次

Web制作を仕事にしたいなら

 ̄ ̄ ̄

格安レンタルサーバーを
お探しなら

格安サーバーをお探しならリトルサーバーがおすすめ!

リトルサーバーの特徴
  • 月額150円~利用可能
  • 標準で全サーバー毎日自動バックアップ付き
  • 全プランWordPress対応(簡単インストール機能付き)
  • 独自SSLが無料(全プランがSSLに完全対応)
  • 提供ドメインが複数あるため独自ドメインが無くても複数サイト運営可能
  • 独自ドメイン無制限(サブドメインも無制限で利用可能)
  • 無料お試し期間がある

リトルサーバーの最大の特徴は安価な月額料金です

\ 利用料金比較表 /

ミニプランワードプランリトルプランビッグプラン
月額料金150円~195円~250円~430円~
SSD容量20GB30GB60GB120GB
提供ドメインアカウント+2アカウント+2アカウント+3アカウント+5
独自ドメイン無制限
バックアップ7日分
リトルサーバー>プラン別サービス比較

有名なサーバーだと月額料金は1000円前後であることが普通です。

仮にリトルサーバーで同じ料金(1000円)を支払ったとすると

最も安いミニプランだと半年分
おすすめのリトルプランでも4カ月分のサーバーがレンタル可能!

こんな方にオススメ

  • 実案件でテスト用のサーバーを用意したい
  • とりあえずサーバーというものに触れてみたい
  • 試しにWordPressを本番運用してみたい
  • いま利用しているサーバーが高額だから安価なレンタルサーバーに乗り換えたい
ケケンタ

リトルサーバーには無料お試し期間があります。
ご興味のある方は是非ご検討してみてはいかがでしょうか。

無料お試しのお申し込みはこちら

「仕事が忙しい方」、「すぐに商品が欲しい方」にピッタリのサービス

by Amazon

日時指定便が「無料」で使えるので不在で商品を受け取れないという心配が無くなる

最短で注文した「翌日」に商品が届くので欲しいものがすぐ手に入る 
※ご注文の時間帯やお住まいの地域によります。

Amazonプライムの無料体験は「何度でも」利用可能

Amazonプライムの無料体験を何度も利用する方法

  • Amazonプライムに会員登録する
  • 会員の自動更新を解除しておく=期限が来たら自動解約
  • 1~3ヶ月ぐらいすると再度無料体験の案内が表示される
ケケンタ

僕自身、過去に少なくとも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の標準的なプログラムを活用することでできることの幅が一気に広がります。

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

ケケンタ

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次