サポート » 使い方全般 » カスタム投稿タイプで投稿した記事の、最新記事のURLを取得したい

  • 解決済 yuunosuke

    (@yuunosuke)


    ひどく初心者の質問で大変に恐縮です。

    カスタム投稿タイプで作成した記事の、最新記事のURLを取得して、「最新記事」というテキストに対してリンクを設置し、最新記事に飛ばしたいと考えているのですが、方法がわかりません。

    以下のページでの方法も試してみたのですが、URLは出力されませんでした。
    https://ja.forums.wordpress.org/topic/11564?replies=5

    記事が更新される度にリンク先も自動で変更されるようにしたいのですが
    どなたか方法をご教授いただけたら幸いです。

    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • get_posts 関数で投稿が取得できているのでしたら、get_permalink 関数でURLが得られますよ。

    スレッド開始 yuunosuke

    (@yuunosuke)

    gblsm様

    早々にご回答いただきありがとうございます。
    またレスが遅くなってしまい申し訳ありません。

    すみません。知識不足故にどのように対処すべきかが把握できていません。

    現在以下のように記事一覧を取得しています。
    やりたい事としては以下の<h2>のINFOのテキストリンクが最新記事に飛ぶようにしたいと考えています。

    <section class="info">
          <h2>
            <a href="">INFO</a>
          </h2>
            <?php
              $loop = new WP_Query(array("post_type" => "info"));
              if ( $loop->have_posts() ) : while($loop->have_posts()): $loop->the_post();
            ?>
             <ul>
               <li><a href="<?php the_permalink(); ?>"><time><?php the_time('Y.m.d') ?></time><?php the_title(); ?></a></li>
             </ul>
            <?php endwhile; endif; ?>
    </section>

    この場合、get_permalink 関数でURLを取得するにはどのようにすればよいのでしょうか。

    とても初心者の質問で申し訳ございません。
    ご教授いただけますと幸いです。

    すみません、ご質問を勘違いしていました。URLを取得する前の、最新記事を取得するところからのようですね。下記のコードでよいと思います。

    <?php
    $myposts = get_posts( "post_type=info&orderby=date&order=DESC&numberposts=1" );
    if ( empty( $myposts ) ): ?>
      <div>投稿タイプ info の記事がありません。</div>
    <?php else: ?>
      <a href="<?php echo get_permalink( $myposts[0] ); ?>">INFO</a>
    <?php endif; ?>

    なお、get_posts の使い方は下記リンク先をご覧ください。
    日本語Codex »テンプレートタグ/get_posts

    スレッド開始 yuunosuke

    (@yuunosuke)

    gblsm様

    ご回答いただきありがとうございます。

    記載していただきましたコードにて
    解決することができました。

    また、参考ページも教えていただきありがとうございます。
    こちら確認し、今回教えていただきましたコードのひとつひとつを理解できるようにします。

    この度は本当にありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿タイプで投稿した記事の、最新記事のURLを取得したい」には新たに返信することはできません。