2011-08-02 110 views
0

我目前完成我的主題,我正在建設一個WordPress網站,我有一個問題讓我的類別工作,雖然。WordPress的類別,獲取其所有帖子

我失去了如何我可以循環通過當前類別,如果我在說的URL「/類別/類別名稱」我將如何循環屬於「類別名稱」類別的帖子。

我我做我的模板以下

<p>Category: <?php single_cat_title(); ?></p>我得到以下輸出

類別名稱

因此,我怎麼循環通過類別的職位?

Category.php

<?php get_header(); ?> 
    <article class="content"> 
     <section class="top">  
      <?php if (have_posts()) : while (have_posts()) : the_post(); ?>   

      <?php endwhile; else: ?>   
       <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>  
      <?php endif; ?> 
     </section> 
     <section class="middle">   
     </section> 
    </article> 
    <?php get_footer(); ?> 

頁面news.php

<?php get_header(); ?> 
<article id="content"> 
    <section class="top"> 
     <?php query_posts('post_type=news'); ?> 
     <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
      <section class="news"> 
       <?php the_post_thumbnail(); ?> 
       <h2><?php echo strtolower(the_title()); ?></h2> 
       <span class="posted"><?php the_date("l jS M Y"); ?></span> 
       <?php 
        $content = get_the_content($more_link_text, $stripteaser, $more_file); 
        $content = apply_filters('the_content', $content); 
        $content = str_replace(']]>', ']]>', $content); 
       ?> 
       <p><?php echo substr(strip_tags($content), 0, 400).'…' ; ?><a href="<?php the_permalink(); ?>" class="read_more">Read More</a></p> 
       <p class="tags"> 
        <strong>Categories:</strong> 
        <?php 
        $post_categories = wp_get_post_categories($post->ID); 
        $cats = array(); 

        foreach($post_categories as $c){ 
         $cat = get_category($c); 
         $cats[] = array('name' => $cat->name, 'slug' => $cat->slug); 
        } 
        ?> 
        <?php foreach($cats as $k => $v) : ?> 
         <a href="<?php echo $cats[$k]['slug']; ?>"><?php echo $cats[$k]['name']; ?></a> 
        <?php endforeach; ?>      
       </p> 
       <p class="tags"> 
        <strong>Tags: </strong> 
        <?php $tags = wp_get_post_tags($post->ID); ?> 
        <?php foreach ($tags as $tag) : ?> 
         <a href="<?php echo $tag->slug; ?>"><?php echo $tag->name; ?></a> 
        <?php endforeach; ?> 
       </p> 
      </section> 
     <?php endwhile; endif; ?> 
     <?php get_sidebar('news'); ?> 
    </section> 
    <section class="middle"> 

    </section> 
</article> 

所以頁面news.php是在我的新聞報道存在,並且用戶可以使用生成的鏈接獲得該類別<a href="<?php echo $cats[$k]['slug']; ?>"><?php echo $cats[$k]['name']; ?></a>

+0

模板文件的文件名是什麼?如果它是'category.php',那麼屬於這個類別的帖子已經被加載了,你只需循環它們即可。 –

+0

它是category.php,我想我現在可以做以下事情嗎? ()):while(have_posts()):the_post(); ?>' – Udders

+0

是的。而已。 –

回答

2

我不認爲你輸出基於上面的代碼中category.php什麼。 the_post()不會回顯任何內容。它只是將下一個記錄放入$post。試試這個...

<?php 
get_header(); 
$cat = get_category(get_query_var("cat")); 
var_dump($cat); //make sure that there really is a valid category and it's the right one 
?> 

<h1 class="page-title"><?php echo $cat->name?></h1> 
<?php 
if (have_posts()) { 
    while (have_posts()){ 
     the_post(); 
     <h2><?php the_title()?></h2> 
     <?php the_content()?> 
     <?php 
     } 
} else { 
    ?> 
    <p>No posts found!</p> 
    <?php 
} 
?> 


<?php 
get_footer(); 
?> 

page-news.php你或許應該考慮使用the_category()呼應了分類鏈接,而不是構建自己的聯繫 - 這樣你就會知道,鏈接都有效....

<p class="tags"><?php the_category()?></p> 
+0

的編輯問題,因此它是一個明確的有效類別,並且該類別明確地包含帖子,就像我在下面可以看到的管理區域到有1條新聞文章的類別,然而在category.php中有帖子 – Udders

相關問題