2012-06-08 67 views
1

我使用名爲的自定義帖子類型UI v0.7.1創建了名爲「Portfolio」的自定義帖子類型。我爲它創建了幾個類別,例如Logos,Packaging等。如何在Wordpress中按類別過濾archive- {custom-post-type} .php?

我需要使用archive.php按類別過濾。

現在我有一個archive-portfolio.php包括此代碼:

<?php $wp_query = null; $wp_query = $temp;?> 
<?php $temp = $wp_query; 
$wp_query= null; 
$wp_query = new WP_Query(); ?> 
<?php $wp_query->query("post_type=portfolio&". $catinclude ."&paged=".$paged.'&showposts=20'); ?> 

<ul> 
    <?php if (have_posts()) while (have_posts()) : the_post(); ?> 
     echo '<li><a href="'; the_permalink(); echo '">'; 
     echo '<strong>'; the_title(); 
     echo '</strong>'; 
     echo '</a></li>'; 
    ?> 
    <?php endwhile; ?> 
</ul> 

我使用像/?category_name=logos/?cat=logos但沒有已經制定的URL嘗試;它只顯示所有投資組合項目,而不考慮類別。

投資組合定製帖子類型具有「存檔」和「分層」已啓用。

對於內置分類法,它也具有類別和標籤。

任何想法?

+1

不是一個真正的答案,但第5行要相對集中。沒有意義在關閉和打開這樣的PHP標籤。編輯:最後也應該與上面的行分組。 – Steve

回答

0

我會低於使用query_posts這樣,你可以大概也簡化代碼:

<?php query_posts(array('post_type' => 'portfolio', 'showposts' => 10, 'orderby' => 'date', 'order' => 'desc')); ?> 

<ul> 
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <li> 
     <a href="<?php the_permalink();?>"> 
      <strong><?php the_title(); ?></strong> 
     </a> 
    </li> 
<?php endwhile; ?> 
</ul> 
<?php endif; ?> 

您可以找到query_posts接受的WordPress Codex的參數。

0

其實我最終得到它與這個工作:

  <?php 
      $wp_query = null; $wp_query = $temp; 
      $temp = $wp_query; 
      $wp_query= null; 
      $wp_query = new WP_Query(); 
      $wp_query->query("post_type=portfolio&category_name=" . $_GET["category"] . "&". $catinclude ."&paged=".$paged.'&showposts=20'); 
      if (have_posts()) while (have_posts()) : the_post(); ?> 
      ... 
      <?php endwhile; ?> 
相關問題