WordPressの事(2)

WordPressで、トップページに固定の”ページ”と投稿を混在させたい。

基本、WordPressはトップページに”ページ”か”ポスト”かのどちらかしかを表示しないようで、そういったテーマしか見あたらない。
トップページで表組みやページとWhat's Newのようなポスト系の情報を混在させたいニーズはあると思うのだけれど・・・。

で、ここを参考に、まずポストを表示するindex.phpをコピーしてhome.phpを作成して、

<?php get_header(); ?>
<div id="posts_contain">
        <!-- posts -->
        <div id="posts_contain">

<?php get_header(); ?>

<div class="post-2 page hentry category-1" id="post-2">      // ここはポスト部分のソースを見てまねた。
 <div class="post_header">
  <div class="post_header_left">
   <h2>
    固定の紹介文を表示
   </h2>
  </div>
 </div>
 <div class="post_content">
  <p>
  <?php
   $page_id = 2;         <- 表示したいページのpage_idを指定
   $mes = get_page($page_id);     <- 対象のページを取得して
   echo $mes->post_content;       <- 表示する
  ?>
  </p>
 </div>
</div>

        <!-- posts -->
        <div id="posts_contain">

に変更。これで固定のpage_id=2を先頭に表示できた。
get_page()を調べてゆくと、ここに色々な関数やタグの情報があり、ページのリストの取得とかも。
そこを参考に、ページのリストと、投稿のリストをテーブル表示してみた。

<?php get_header(); ?>

<div class="post-2 page hentry category-1" id="post-2">
 <div class="post_header">
  <div class="post_header_left">
   <h2>
    固定の紹介文を表示
   </h2>
  </div>
 </div>
 <div class="post_content">
  <p>
  <?php
   $page_id = 2;
   $mes = get_page($page_id);
   echo $mes->post_content;
  ?>
  </p>
 </div>
</div>
===============================================================
<table>
 <tr>
  <td>page</td>
  <td>post</td>
 </tr>
 <tr>
  <td>
   <div class="widget widget_recent_entries"> <- 下のポストで生成されるタグをまねた
   <h2 class="widgettitle">ページ一覧</h2>
   <?php wp_page_menu(); ?>                    <- ページの一覧だけ(タイトルとかは無い)
   </div>
  </td>
  <td>
  <?php
   $widget = WP_Widget_Recent_Posts;
   $instance = '';
   $args = 'befor_title=<h2>';
   the_widget($widget, $instance, $args); ?>   <- サードバーで使うウィジェットを呼び出す。
  </td>
 </tr>
 <tr><td>
  </td>
  <td>
  </td>
 </tr>
</table>
===============================================================