人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

wordpress3.5について教えてください。
現在、以下のように記述して投稿ページを新着順にトップページ内に表示させておりますが、これを投稿ページではなく固定ページを反映させる方法はないでしょうか?
<table>
<tr>
<?php query_posts('showposts=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<th><?php the_time('Y.m.d') ?><br /><span><?php the_category(',') ?></span></th>
<td><?php echo wp_get_attachment_image(get_post_meta($post->ID,'Outward',true),array(50,50)); ?></td>
<td><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><span class="strong"><?php the_title(); ?></span><br /><?php echo post_custom("Address")?></a></td>
</tr>

●質問者: kaji0245
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rouge_2008
●100ポイント ベストアンサー

「post_type」に「page」を指定する事で、固定ページを取得・表示できます。

<table>
<?php query_posts('post_type=page&showposts=5'); /* query_posts('showposts=5'); */ ?>
<?php if ( have_posts() ) while (have_posts()) : the_post(); ?>
<tr>
<th><?php the_time('Y.m.d') ?><br /><span><?php the_category(',') ?></span></th>
<td><?php echo wp_get_attachment_image(get_post_meta($post->ID,'Outward',true),array(50,50)); ?></td>
<td><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><span class="strong"><?php the_title(); ?></span><br /><?php echo post_custom("Address")?></a></td>
</tr>
<?php endwhile; wp_reset_query(); ?>
</table>


http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts#.E6.8A.95.E7.A8.BF.E3.83.BB.E5.9B.BA.E5.AE.9A.E3.83.9A.E3.83.BC.E3.82.B8.E5.BC.95.E6.95.B0

※「wp_reset_query()」で変更したメインクエリを元に戻すのを忘れないようにしてください。

※メインクエリを書き換えるのではなく、get_posts()またはWP_Queryでループを別個に作成して表示する事も可能です。)

<table>
<?php $pages_query = new WP_Query('post_type=page&posts_per_page=5'); ?>
<?php if ( $pages_query->have_posts() ) while ($pages_query->have_posts()) : $pages_query->the_post(); ?>
<tr>
<th><?php the_time('Y.m.d') ?><br /><span><?php the_category(',') ?></span></th>
<td><?php echo wp_get_attachment_image(get_post_meta($post->ID,'Outward',true),array(50,50)); ?></td>
<td><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><span class="strong"><?php the_title(); ?></span><br /><?php echo post_custom("Address")?></a></td>
</tr>
<?php endwhile; wp_reset_postdata(); ?>
</table>


http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts
http://wpdocs.sourceforge.jp/関数リファレンス/WP_Query


【追記】

ネットワークでのブログの切り替えは「switch_to_blog()」で可能です。

<table>
<?php switch_to_blog(切り替え先サイトのID); query_posts('post_type=page&showposts=5'); ?>

...(略)

<?php endwhile; wp_reset_query(); restore_current_blog(); ?>
</table>

※利用し終わった後は、「restore_current_blog()」で元のブログに戻します。

http://codex.wordpress.org/WPMU_Functions/switch_to_blog
http://codex.wordpress.org/Function_Reference/restore_current_blog


rouge_2008さんのコメント
ところで別の質問の件ですが、「Contact Form 7 Dynamic Text Extension」は動作したでしょうか? 「Contact Form 7 Dynamic Text Extension」の使用目的および「Contact Form 7」のフォームの設置方法(※本文、テンプレート、ウィジェットなど)を詳しく教えていただけたら、もう少しアドバイスできるかもしれません。

kaji0245さんのコメント
ありがとうございます、おかげさまで固定ページを抽出して新着情報ブロックを実現できそうです。 ちなみにマルチサイトで作成している場合に、この新着ブロックは子サイトのトップページではOKですが、親サイトのトップページで表示させるにはいかがでしょうか? PS:「Contact Form 7 Dynamic Text Extension」はまだうまくいきませんが、動的項目をあきらめて静的項目(固定メルアド)にしようかと思っております。

rouge_2008さんのコメント
ネットワークでのサイトの切り替え方法を追記しました。 親サイトのテンプレートに「switch_to_blog(子サイトのID)」を追加するといいです。 以降「restore_current_blog()」で戻すまでは、切り替え先のサイトに対する操作になります。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ