『日数の自動更新』機能:カウントアップをfunctions.phpで作る(2/2)~コード記述編~

『ブログの更新日数を自動計算して表示させたい…』
『WordPressのfunctions.phpを触ってみたい…』
『でも、少し不安…』

『日数の自動更新』機能:カウントアップをfunctions.phpで作る(1/2)~事前準備編~

上記の記事の『続編』を書きたいと思います。


※無事カウントされています

目次

1.いざ、更新!

①まずはバックアップ

FileZillaを立ち上げて、バックアップを取りましょう。

起動すると以下の画面になります。
(左:PCファイル、右:WordPress上のファイル)

構造としては、右側のWordPressファイルを以下のように進むとphpファイルが見つかります。

  • theme(テーマ)
    • ご自身で使用しているテーマのフォルダ(私の場合『swell child』)
      • functions.php

バックパック自体は、右から左へファイルやフォルダをドラッグするだけでOKです。

  • 使用しているテーマフォルダ(バックパック用)
  • その中のphpファイル(コード記述用)

の2つをドラッグして左側(PC側)にコピーしておきましょう。

②ダウンロードしたphpファイルを更新

次に、ダウンロードしたphpファイルを更新していきます。

  • 左側のphpファイルを右クリック
  • 『編集』を押下
  • Visual Studio Code画面が表示されます

次にVisual Studio Codeで、日数を自動更新させるコードを記載します。

具体的には、以下のようなものを。

すべてを自作するのは大変なので、AIを利用しつつ。
(私はGenSparkにドラフトは作ってもらいました)

コード:自動日数更新
//ブログ更新日数のカウントアップ
//1. 関数の定義
function blog_continuous_days() {
//2.東京のタイムゾーンを設定
    $timezone = new DateTimeZone(‘Asia/Tokyo’);
//3. 開始日の設定
    $start_date = new DateTime(‘2025-03-20’, $timezone);
//4. 現在日時の取得
    $today = new DateTime(‘now’, $timezone);
//5. 日数計算  
    $days = (int)$start_date->diff($today)->format(‘%a’) + 1;
//6.HTMLとPHPの変数を組み合わせて文字列を作成   
    return ‘2025年3月20日から<span style=”color: #ff4b00; font-size: 24px; font-weight: bold;”>’ . $days . ‘日</span> 毎日更新中!’;
}
//7. ショートコード登録
add_shortcode(blog_update, ‘blog_continuous_days’);
//ウィジェットでも使用可能にする
function enable_shortcode_in_widgets() {
    add_filter(‘widget_text’, ‘do_shortcode’);
}
add_action(‘init’, ‘enable_shortcode_in_widgets’);

③アップロード

以下の手順を踏むことで、サーバー(WordPress)側のphpファイルの更新が完了します。

  • コードの記述を終えて保存
  • Visual Studio Codeを閉じる
  • FileZillaで『このファイルをサーバーにアップロードしますか?』
    ⇒『Yes』を選択
  • サーバー側のphpファイルの更新が完了

これでphpファイルの更新は終了です。

2.WordPress上での表示設定

以下の手順でWordPress上での表示を設定していきます。

ここでは、『共通サイドバー』に表示させる前提です。

  • ダッシュボードの『カスタマイズ』
  • ウィジェット
  • 共通サイドバー
  • カスタムHTML
  • phpファイルで設定したショートコードを記載
    (ここでは『blog_update』。phpのコードの赤字部分を参照)

これで、サイドバーに『ブログ更新日数』が表示され、日々カウントされていきます。

3.対応後の注意点

①WordPressで表示確認

ここまで更新が完了したら、実際のサイトにアクセスして表示に問題ないか確認をしましょう。

  • 表示内容に違和感がある
  • 想定した内容と異なる
  • うまく表示されない

ような場合、phpファイルの記述が正しくない可能性があるため、内容を再度確認してみましょう。

②WordPressで動作確認

次の日に、カウントが更新されているか確認をします。

私の場合、なぜかphpファイルを更新した時点のままになっていました。
タイムゾーンの設定が不十分だったようで、翌日に修正をしています。
(前述のコードは、この点を修正済みのものです)

いったん作ってみても、すぐに正しく動作するかは分かりません。
都度、うまく動いているかはチェックしていきましょう。

③バックアップは定期的に取る

phpファイルの更新時は必ずバックパックを取りましょう。

また、それ以外の場合でも定期的にバックパックを取ることが重要です。
(プラグインでも、手動でも構いません)

いざという時のために、備えておきましょう。

以上、この記事が参考になれば嬉しいです。

では、また次回。

編集後記

◇日記
早朝ラン&ブログ執筆。
午前中から、有明ガーデンの『ア・ダイナソーオデッセイ2025|恐竜ライブショー』を観に行きました。
子ども達は、恐竜をみて興奮気味。
夏休みのイベントも概ね終えてきて、少し寂しい気も。

◇ブログネタ経緯
昨日の続編を。

◇1日1新
ア・ダイナソーオデッセイ2025

◇今日の一冊
減らす習慣

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

この記事を書いた人

●1990年4月生まれ。東京都出身。
●『時間とお金』『家庭と仕事』『思考と行動』の悩みをサポート。
●IT、発信、営業、会計、税金に強みを持つ。
●公認会計士。
●3児(みんな男の子)の父。

目次