我使用一个名为"Portfolio"的插件创建了一个名为"投资组合"的自定义帖子类型UI v0.7.1。我为它创建了几个类别,例如徽标、包装等。
我需要使用存档.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,但没有一个奏效;它只显示所有投资组合项目,而不考虑类别。
投资组合自定义帖子类型已启用"存档"和"分层"。
对于内置分类法,它还启用了类别和标记。
有什么想法吗?
我会在下面使用这样的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; ?>
您可以在WordPress Codex中找到query_posts接受的参数。
我实际上最终让它处理这个:
<?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; ?>