2011-07-29 53 views
0

自從我完成了wordpress模板以來,我已經有一段時間了,出於某種原因,我無法讓archives.php工作。我有這個:Archives.php不能在wordpress中工作

<?php 
/* Template Name: Archives */ 
get_header(); ?> 
<div id='content'> 
<?php get_sidebar('left'); ?> 

<div id='column2-wide'> 
    <?php if (have_posts()): while (have_posts()): the_post(); ?> 
     <?php if (in_category(16)) { ?> 
      <h2><?php the_title(); ?></h2> 
      <div class="post"> 
       <?php echo the_content(); ?> 
      </div> 
     <?php } ?> 
    <?php endwhile; endif; ?> 
</div><!-- column2 --> 
<?php get_footer(); ?> 

然後在admin中創建一個頁面,並從下拉列表中選擇要使用的存檔模板。

但是帖子似乎並沒有顯示。我錯過了什麼嗎?相同的代碼在index.php文件中工作。當我嘗試在頁面中顯示帖子時,它似乎只是不工作。

這很可能是我在想念一個文件,我開始使用由Kennethreitz骨架主題可以在這裏找到發展的主題:

https://github.com/kennethreitz/wordpress-theme-skeleton/

任何幫助,將不勝感激。

感謝您的閱讀。

fl3x7

編輯 - >香港專業教育學院還刪除類別檢查,因此它應該只是列出所有的職位,而是它不只是呼應當前頁面的標題是否有幫助

回答

0

感謝Hans提供的幫助。這是我做的:

query_posts(array ('category_name' => 'foo', 'posts_per_page' => 10)); 


if (have_posts()): while (have_posts()): the_post(); ?> 
     <h2><a href='<?php the_permalink(); ?>'><?php the_title(); ?></a></h2> 
     <div class="post"> 
      <?php echo the_excerpt(); ?> 
     </div> 
<?php endwhile; endif; ?> 
0

我假設「16」是類別ID?根據the WordPress docs for in_category,如果您通過ID查詢,它應該作爲整數傳遞。

$類別 (混合)(必需)一個或由ID (整數)指定的多個類別,名稱或蛞蝓(字符串),或這些的

陣列

使用您當前的代碼,in_category檢查每次都會失敗,因爲它正在檢查與名爲「16」的類別的關聯。試試這個:

if (in_category(16)) { 
    ... 
} 
+0

嗨,謝謝你。我已經糾正了它,但是這並不能解決問題。不錯的地方,雖然,讚賞:) - 我也編輯了原來的問題,以顯示更正的代碼 – fl3x7

+0

只是檢查 - 在主條件之外,添加'var_dump(have_posts());'。那顯示了什麼? –

+0

嘿,當做無用轉儲它說布爾(真)。 – fl3x7