web制作

WordPressの記事投稿で現在の年と日付を自動更新するショートコード

本ページにはプロモーションが含まれています。

ブログ記事をこまめに更新していても、記事中に年月日を入れ込んでいると最新のものにし忘れたりすると思います。そのときに常に最新の年月日に手動で更新するのは大変です。

本記事ではWordPress記事中やタイトル、ディスクリプションの年月日に、自動で現在のものを表示するPHPショートコードをご紹介。投稿画面で使えます。

しょーご

この記事を書いたのは
しょーご@samurabrass

当ブログ「しょーごログ」の運営者。2018年からWeb制作・フロントエンドエンジニアとして主にWordPressでのサイト制作やシステム開発のフロントエンドを担当。同時にブログとYouTubeで情報発信を行っている。駆け出しエンジニアのコーディング課題添削も行い、スクール講師を4年以上している経験を活かした分かりやすい記事制作を心がけている。

自動で現在の年月日を表示するショートコード

現在の年を表示

結論以下でOKです。ショートコード名:cur_year

function current_year_shortcode() {
return date('Y');
}
add_shortcode('cur_year', 'current_year_shortcode');

// 投稿タイトルでショートコードを実行するためのフィルターフック
add_filter('the_title', 'do_shortcode')

現在の月を表示

ショートコード名:[cur_month]

// 現在の月を返すショートコード
function current_month_shortcode() {
    return date('m'); // 'm' でゼロなしの月を数字で返します
}

// ショートコードを登録
add_shortcode('cur_month', 'current_month_shortcode');

// 投稿タイトルでショートコードを実行するためのフィルターフック
add_filter('the_title', 'do_shortcode');

現在の日にちを表示

ショートコード名:[cur_day]

// 現在の日付を返すショートコード
function current_day_shortcode() {
    return date('j'); // 'j' でゼロなしの日付を数字で返します
}

// ショートコードを登録
add_shortcode('cur_day', 'current_day_shortcode');

// 投稿タイトルでショートコードを実行するためのフィルターフック
add_filter('the_title', 'do_shortcode');

年月を両方表示【○年○月】

/**
 * 2025年10月 ショートコード
 * 例: 2025年10月 → 2025年5月
 */
function my_now_shortcode( $atts ) {
	$atts = shortcode_atts(
		[
			'format' => 'Y年n月',
			'gmt'    => false,
		],
		$atts,
		'now'
	);
	$ts = current_time( 'timestamp', $atts['gmt'] );
	return date_i18n( $atts['format'], $ts );
}
add_shortcode( 'now', 'my_now_shortcode' );

/**
 * タイトル内でショートコードを展開
 * - 2 引数を受け取り、優先度を下げて安全に実行
 * - 管理画面では実行しない
 */
function my_do_shortcode_in_title( $title, $post_id = 0 ) {
	if ( is_admin() ) {          // 編集画面はそのまま
		return $title;
	}
	if ( strpos( $title, '[' ) !== false ) {
		return do_shortcode( $title );
	}
	return $title;
}
add_filter( 'the_title', 'my_do_shortcode_in_title', 20, 2 );      // ★優先度 20・引数 2
add_filter( 'widget_title', 'my_do_shortcode_in_title', 20, 2 );
add_filter( 'single_post_title', 'my_do_shortcode_in_title', 20, 2 );

ショートコードの使い方

投稿画面で使えます。タイトルにフックをかけているので、記事タイトルにも使用可能。

  • ショートコードを触る前には必ずバックアップを取ること、できればローカル環境で試す
  • 情報を更新していないのに自動で最新の年月日にするのは、推奨しない(Googleは情報の”更新割合”を見ている)
  • 記事アーカイブ一覧ページで動作しないケースあり、要確認

応援して頂ける方へ

ご寄付を頂けると今後の更新の励みになります!

🍺 ビールをプレゼントする