【WordPressで日毎に表示を変える方法】
WordPressの記事の内容をPHPで切り替える
ブログの固定ページで闘病垢のプロフィール動画を公開しているのですが、日毎に変化が欲しいなと思い、とりあえず偶数の日と奇数の日でBGMの違う動画を公開する様にPHPでお願いしてみました。
◆STEP1.正確な日付を取得
WordPressのデフォルトでは日本時間より9時間遅い世界標準時刻となっていますので、現在の日時を取得する様にします。
私の環境ではWordPressの管理画面でタイムゾーンを東京や手動でUTC+9.0としても上手くいかなかったのでdate_default_timezone_get関数を使用しました。
固定ページへ下記のソースを記述。
// タイムゾーンを日本に設定
date_default_timezone_set('Asia/Tokyo');
◆STEP2.今現在が偶数日か奇数日かを判定
date関数を使って現在何日か調べます。
date('d')
その日付を2で割った余りを求めます。
%2 == 0の部分で、余が0なら偶数日、0でなければ奇数日。
date('d')%2 == 0
◆STEP3.条件分岐
IF文を使用して、取得した日が偶数日か奇数日かで分岐、表示する内容を変数に代入します。
if ( date('d')%2 == 0 ) {
$mov = '"https://動画のディレクトリ/偶数日の動画.mp4"';
$mov_name = "カーテン";
$mov_day = "偶数日";
} else {
$mov = '"https://動画のディレクトリ/奇数日の動画.mp4"';
$mov_name = "ねえねえ";
$mov_day = "奇数日";
}
◆STEP4.表示部分を記述
日にち事に表示を変えたい部分に、それぞれの変数を記述する。
今回は動画ファイルと文章の一部になります。
<figure class="wp-block-video"><video autoplay="" controls="" muted="" src=<?php echo $mov; ?> data-src=<?php echo $mov; ?> playsinline="" class=" lazyloading"><noscript><video autoplay controls muted src=<?php echo $mov; ?> playsinline></noscript></video></figure>
<p><?php echo $mov_day; ?>の動画BGMは「<?php echo $mov_name; ?>」です。</p>
◆STEP5.完成
完成はこちらから確認できます。
◆あとがき
バイクが故障してフードデリバリーの副業が出来なくなり時間が出来たので少しPCを触ってみました。
もっと簡単な方法もあるのかなとも思いますが、お願いした通りに動いてくれると嬉しいですね。
応用で毎日違う表示や、そもそも毎日違うページにしてしまう事も出来ます。
こういうのが楽しいと思える人はプログラムのお勉強も良いかもですね。