• 解決済 amachang

    (@amachang)


    最新の記事の西暦(年)のみ取得したいと考えています。

    例えば2022-12-4の記事が最新であれば「2022」を、2023-2-4の記事が最新であれば「2023」を。

    取得した値を使って年別のアーカイブへのリンクに設定したいと考えております。
    example.com/2023/ といった感じです。

    取得するコードについて、ご教示願えないでしょうか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • amachangさん、こんにちは。

    例えばですけど、以下のようなコードで最新の投稿の年を取得できるかと思います。

    $query_args = array(
         'posts_per_page' => 1,
     );
     $last_post = get_posts( $query_args );
     
     var_dump(substr( $last_post[0]->post_date, 0, 4 ));

    他にも方法はあるかもしれませんが、手っ取り早く取得するならget_postsで最新の記事 1 件を取得してpost_dateから最初の 4 文字を抜き出してもいいのかなと思いました。

    ご参考になれば。

    トピック投稿者 amachang

    (@amachang)

    shokun0803さん

    ありがとうございます!たいへん助かります。試してみたところ以下が出力されました。

    string(4) “2023”

    2023のみになればと思いますが、どのようにコードを修正すればよいでしょうか?

    amachangさん、こんにちは。

    上記例示したコードはvar_dumpしているだけですので、何らかの変数に代入し表示やリンク先として使用したい場所に echo すれば良いかと思います。

    $year = substr( $last_post[0]->post_date, 0, 4 );
    
    echo "<a href='example.com/{$year}/'>年別のアーカイブ</a>";

    みたいにするのが簡単ですかねぇ。ご自身でも工夫されてみてください。

    ご参考になれば。

    トピック投稿者 amachang

    (@amachang)

    ありがとうございます。うまくできました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「最新の投稿の西暦を取得したい」には新たに返信することはできません。