work.log

元エンジニアの備忘録的ブログ

WordPressで指定した曜日だけ特定の処理を行う

投稿:

WordPress で使うスニペットの小ネタです。

「指定した曜日だけ特定の処理を行う」というのをやりたくなったので、is_week() なる関数を作って追加してみました。

まずは、functions.php に下記のようなコードを追加します。

function is_week( $args = false ) {

	if ( ! $args ) { return false; }

	$week = array(
		'Sun' => 0,
		'Mon' => 1,
		'Tue' => 2,
		'Web' => 3,
		'Thu' => 4,
		'Fri' => 5,
		'Sat' => 6
	);

	$now = date( 'w', time() );

	if ( "$now" === "$week[$args]" ) {
		return true;
	} else {
		return false;
	}

}

で、後はテンプレート等でこんな感じに。

<?php
	if ( is_week( 'Tue' ) ) {
		echo '<span>今日は火曜日</span>';
	}
?>

渡す引数は Mon – Sun のいずれか。

PHP の date 関数はデフォルトで time() を使うようですが、後でこれ何だっけとならないようにあえて記述。ローカルのサーバ時間が参照されるので ntp でしっかり同期しとかないと使い物にならないと思います。

以上、小ネタでした。