2,234 views
この記事は最終更新から 2858日 が経過しています。
(1) やりたいこと
ネット上に公開されている情報はとっても役立つ。
しかし、日進月歩の世界であるため、数年前の情報は陳腐化して使えないことが多い。
そこで、自分の投稿にも
「この記事は最終更新から n日が過ぎています。」
のような警告文を表示するようにしたい。
このための WordPressプラグインを作ってみる。
(2) プログラム
以下、簡単なプラグインを作成する。
oldwarn.php
肝は以下の3点だ。
・add_filterで the_contentをフックする。
・フック関数では表示対象の投稿データ $post から最終更新日 post_modified を取得する。
・30日以上経過していれば経過日数を記事の上側に表示する。
<?php
/*
Plugin Name: Past days warning
*/
if (class_exists('OldWarn')) {
$oldwarn = new OldWarn();
}
class OldWarn {
public function __construct() {
add_filter('the_content', array($this, 'proc_disp_content'));
}
public function proc_disp_content( $the_content ){
global $post;
if(is_singular('post')){ // 「投稿」の1画面表示?
$past_days = floor((time() - strtotime($post->post_modified)) / (60 * 60 * 24));
if($past_days >= 30){
$the_content = <<< EOM
<p style="border:1px #f00 solid;color:#f00">
この記事は最終更新から {$past_days}日が経過しています。
</p>
{$the_content}
EOM;
}
}
return $the_content;
}
} // end of class
PHPソースコードからのプラグインの登録方法は以下の記事を参照のこと。
(22) WordPressで自作ウィジェットをプラグイン登録
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2026-06-23: 0回 2026-06-22: 4回 2026-06-21: 1回 2026-06-20: 0回 2026-06-19: 0回 2026-06-18: 2回 2026-06-17: 0回