[WordPress] 記事が更新された回数を取得する

公開

スポンサーリンク

WordPressでリビジョンの数――、記事が更新された回数を取得するコードを用意しました。

どういう時に必要になるのか分かりにくいでしょうが、固定ページとして提供されているが、1ヶ月に1度定期的に更新されるページなどで、最終更新日だけでなく、それまでに更新が行われた回数、通算の修正回数を表示するといった用途などに使います。

WordPressにおいては、あらゆるノウハウがネット上で提供されているわけですが、記事が更新された回数を取得する方法が見つからなかったので自分で用意した次第です。そもそもそんなことを求めている人は皆無だったのだと思われますが、諸事情で必要になったのですね。

コード自体は簡単なもので、post_idを元に集計を行うSQLクエリーを実行するだけです。まず、functions.phpに以下のコードを記載します。

/**
 *  リビジョン数を取得する
 */
function get_revision_count_by_id ($post_id) {
  if ( get_the_date('Y-m-d H:i:s') === get_the_modified_date('Y-m-d H:i:s') ) {
    return '0';
  } else {
    global $wpdb;
    $query = "SELECT COUNT(ID) AS cnt FROM {$wpdb->posts} WHERE post_name = '{$post_id}-revision-v1';";
    $cnt = $wpdb->get_var($query);
    
    return $cnt - 1;
  }
}

次に更新回数を表示したいところget_revision_count_by_id ($post_id)を記載し、引数には$post_id(記事ID)を渡します。これで記事の更新回数を表示できるようになります。

スポンサーリンク


Comment