WordPressの最新記事のリンクを、トップページなどWP外の静的ページに表示させる方法

サイト全体にWordPressを使わず、ブログ部分のみにWPを使った場合など、静的ページとワードプレスが混在しているWebサイトで有用なテクニックをご紹介します。

当社のWebサイトがそうなのですが、

  • ブログ部分はWordPress
  • TOPページやサービス案内のページは静的ページ(手作り)

となっており、後者はWordPressの影響範囲外です。

部分的にワードプレスを使っていて、最新記事○件のリンクを他のページに表示させたいケースはとても多いと思います。
かといって、サイトすべてをWordPress化するのはとても面倒な作業です。メンテナンス性も低下します。

当社サイトのTOPページはWordPressで作成しておらず、ブログ記事のリンクのみを自動取得して表示させています。

弊社TOPページ(index.php)、該当部分のソース

<article>
    <h2>Column<span>コラム</span></h2>
        <?php require_once($_SERVER['DOCUMENT_ROOT']."/cms/wp-load.php");?>
        <?php query_posts('cat=1&posts_per_page=5');  ?>
        <ul class="ulblogtitle">
        <?php
        if (have_posts()) :
            while (have_posts()) : 
                the_post();
        ?>
              <li>
          <date><?php echo get_the_date(); ?></date>
              <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                <?php the_title(); ?>
              </a>
          </li>
            <?php endwhile; ?>
        <?php endif; ?>
        </ul>    

    <p class="link taC">
    <a class="nor" href="/column/"><i class="fas fa-chevron-circle-right"></i>コラム一覧</a>
    </p>
</article>

 

wp-load.phpをrequireで呼び出す

WPの記事リストのリンクを表示させたい箇所に、上記のようなコードを記述します。(ページの拡張子はphpである必要があります。)

3行目で、WordPressのインストールフォルダ内にある「wp-load.php」を呼び出します。
※WPのフォルダ名に応じて書き直して下さい。

どういう機能なのかは詳しくないため省きますが、おまじないのようなものとお考え下さい。

記事のカテゴリ番号と、表示させたい件数を入れます

4行目、(‘cat=1&posts_per_page=5’) としていますが、これはWP記事カテゴリ番号1の最新記事5件を表示しろ、という意味です。
その他のulなどのタグはご自身で書き直されて下さい。

あとがき

これは、Web関連のプログラマである友人に教えてもらいました。

もともと私はWordPressを使わずにMovable Type(ムーバブルタイプ)を好んでいたのですが、まさに上記を簡単に行えるのがMTだったのです。
Movable Typeはとても良くできたCMSだったのですが、オープンソース版の更新が停止してしまい、有償版しか使えなくなってしまい残念です。

コメント