wordpress 静的 HTML に WordPress の投稿を表示する

2013年4月12日

ブログなど特定部分だけをWordPress管理下とするようなサイトを構築する際、トップページに投稿の新着情報を表示するには WordPress の”wp-load.php”をインクルードする記述を追加する。

具体的には、

  • index.html を index.php にリネームして PHPを使えるようにする。
  • リネームした index.php にWordPressの”wp-load.php”をインクルードする記述を追加しテンプレートタグを利用できるようにする。
  • new WP_Query などで抽出条件を設定し、ループ内でテンプレートタグを使い記事の情報を出力する。
  • 記事の出力だけではなく、カテゴリーの表示やWordPress の検索のフォームなども設置可能。
//以下を <head> 内等に記述
<?php include_once("./wp/wp-load.php"); ?>

あとは通常の WordPress のテンプレートと同じように記述することができる。

<?php
  $my_query = new WP_Query(抽出条件);
  if($my_query-> have_posts()):
?>
<?php while($my_query-> have_posts()): $my_query-> the_post(); ?>
  //投稿のデータを出力するテンプレートタグ等を記述
<?php endwhile; ?>
//$my_query->the_post() がグローバル変数の $post を上書きするのでリセット
<?php wp_reset_postdata(); ?>  
<?php else: ?>
  //投稿がない場合の処理
<?php endif; ?>