私のサイトには3つのページがあります。それらをhome、page2、page3と呼びましょう。私の「ホームページ」ページは静的なフロントページとして設定されています。私の「page2」はブログページとして設定されています。
私が欲しいのは次のとおりです。
page2に特定のカテゴリ(IDがわかっている)のブログ投稿を表示したい。
と
page3に特定のカテゴリ(IDがわかっている)のブログ投稿を表示したい。
特定のカテゴリの投稿のみを表示する(または実際には私の場合は2つのカテゴリを除く投稿を表示する)PHPコードは次のとおりです。
<?php query_posts($query_string . '&cat=-3,-8'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h3>
<?php the_excerpt('Read the rest of this entry »'); ?>
</div><!-- /.post-->
これで、page.phpに、1つのカテゴリの投稿を表示するための次のコードがあります。
<?php
// BEGIN IF PAGE is newspaper articles page
if ( is_page('newspaper') ) {
//BEGIN POST REGION
query_posts($query_string . '&cat=8'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h3><?php the_title(); ?></h3>
<?php the_content('Read more »'); ?>
</div><!-- /.post-->
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
<?php
} //end if is_page
?>
ただし、新聞のページ(またはこの質問のページ3)には適切な投稿が表示されません。ただし、記事ページ(メインのindex.phpブログページ)では機能します。
編集:私も次のことを試しました(しかし、それは機能しません)。私はこれをindex.phpファイルに入れました:
<?php
if ( is_page('newspaper') || is_home() ) { // START if is home
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanent Link to
<?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h3>
<!--<p><?php the_time('F jS, Y') ?> <?php //the_author() ?></p>-->
<?php the_excerpt('Read the rest of this entry »'); ?>
</div><!-- /.post-->
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
<?php
} //end if is_home() or is_page()
?>
繰り返しますが、これはメインのブログページに投稿を表示しますが、新聞ページには投稿を表示しません...
したがって、質問は単純です(私は思います)。メインのブログページ以外の別のページに投稿を表示するにはどうすればよいですか?
ありがとう!アミット