2012-02-07 21 views
0

私はウェブサイト上で作業しています。関連する投稿を(サイドバーや他の場所に)表示するループがあるのか​​どうかは疑問でしたが、基準。ワードプレス条件付きカテゴリPHPループ

例:稲妻についてのページを読んでいます。サイドバーには、このカテゴリの「thiscategory」(この場合は稲妻)と「ホワイトペーパー」(常に固定)のすべての投稿が表示されます。

私は、次のループを試してみたが、それは私の構文エラーを与える:

 <!-- Start the Loop. --> 

     <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

     <?php if (! in_category('whitepaper')) { ?> 

     <!-- don't display anything if it's nog in category whitepaper --> 

     <?php } else { 

     $mycat = get_the_category; 

     if (in_category($mycat) { ?> 
     bla 
      <?php } ?> 

     <?php } ?> 

     <?php endwhile; ?> 
     <?php endif; ?> 

すべてのヘルプは大歓迎です!

+1

構文エラーとは何ですか?この選択ステートメントは 'iff(!in_category( 'whitepaper'))'は何もしていないので意味がありません。また、else部分としての最初のif条件とfalse条件として常にtrue条件を使用する必要があります。あなたのコードは整理されています:http://pastie.org/3335622 – Flukey

+0

また、読みやすくするために、インデントと改行を使ってコードをレイアウトしてください...これは、特に 'endwhile'を使用しているときに当てはまります。と 'endif'構文ではなく、中括弧 –

答えて

2

あなたがしたいのは、query_posts()を使用することです。

<?php 
//Grab the two category ID you are interested in. 
$white_paper = get_cat_ID('whitepaper'); 
$curr_cat = get_query_var('cat'); 

//Query posts for the categories you want 
query_posts("cat=$white_paper,$curr_cat"); 

//Now loop as normal 
if (have_posts()) : while (have_posts()) : the_post(); 
?> 
    <div class="entry"><?php the_content(); ?></div> 
<?php endwhile; ?> 
<?php endif; ?>