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



コメント