サイト全体に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だったのですが、オープンソース版の更新が停止してしまい、有償版しか使えなくなってしまい残念です。
コメント