【WordPress】PHPで一番古い記事の年を取得する方法

function wp_first_post_year(){
    global $wpdb;

    //DB検索
    $first_post_date = $wpdb->get_var("SELECT post_date from $wpdb->posts where post_status = 'publish' and post_type = 'post' ORDER BY post_date ASC LIMIT 1");
    $yyyy = intval(substr($first_post_date, 0, 4));

    return $yyyy;
}

//-----
//確認
//-----
echo wp_first_post_year();

こんな感じのロジックで取得可能です。
※1件も公開記事がない場合の処理はないので、真面目に作る人はそのあたりのロジックも入れましょう。

関数リファレンス/wpdb Class - WordPress Codex 日本語版
WordPressでシステム開発をする時に必要なクエリ操作について - Qiita

DBを直接SQLで取得する方法は上記あたりが参考になるかと思います。

wp_postsとテーブル名を指定してもOKですが、wp_の部分は任意に変更が可能なので「$wpdb->posts」の変数を使ったほうが良いでしょう。
/wp-includes/wp-db.php あたりのソースをよめば納得できると思う。

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。