我需要选项来构建一个显示特定类别的所有帖子的页面。 我知道,显示所有类别的帖子都可以通过wordpress开箱即用。但我需要有可能提供有关所有帖子的一些信息。
我知道有一个名为"列表类别帖子的插件" (http://wordpress.org/plugins/list-category-posts/)。它有效,但它只显示帖子的链接。我需要完整的帖子(就像它们显示在"博客页面")。
答案 0 :(得分:0)
如果您需要对结果“做某事”,请查看
query_posts
通过http://codex.wordpress.org/Function_Reference/query_posts
这是一个草图,我认为使用自定义循环来满足您的需求。可以根据需要通过模板中的简单逻辑插入:
// this sets up the filter parameters for a category id some_cat_id sorting asc
$args = array(
'cat' => $some_cat_id,
'order' => 'ASC'
);
// The query is applied via a conditional
if($some_conditional) { // for what ever reason we use the filter+args
query_posts( $args );
// this is also an opportunity to "do stuff" before the loop/output
}
// The Loop (simple example)
while ( have_posts() ) :
the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
// Reset Query
wp_reset_query();
作为WP用户长期以来,我不惜一切代价避免使用插件,而不是编写可持续代码。插件是一个失败点,一些最大的插件工厂只有糖包装的安全问题。
使用查询“过滤”通过条件的自定义循环是惊人的,并且此模式可以扩展到类别,搜索,标签和元键:值对。
此外,通过理解循环,可以以易于维持的方式控制格式和输出。一些插件逻辑很可怕且效率很低,因此在性能和安全性很重要时,请始终调查所有插件。
答案 1 :(得分:0)
我发现这是最简单的方法:
<?php query_posts('cat=25&showposts=3'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//You can change up the format below any way you'd like.
<li class="homeblock" style="max-width:400px;">
<div class="entry-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<div class="contentbox"><?php the_excerpt(); ?> </div>
</li>
<?php endwhile; endif; ?>
您可以将其添加到主题模板文件中,您需要更改的是您尝试从中获取帖子的类别的类别ID。例如,如果您的类别ID是&#39; 114&#39;并且您想要显示9个帖子,它们将如下所示:
<?php query_posts('cat=114&showposts=9'); ?>
如果您需要向帖子添加更多信息,则应考虑使用自定义字段来执行此操作。查看名为Advanced Custom Fields的插件。
以下是循环中使用的自定义字段的示例:
<?php query_posts('cat=25&showposts=3'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<li class="homeblock" style="max-width:400px;">
<div class="entry-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<div class="contentbox"><?php the_excerpt(); ?> </div>
<?php $article_link=get_post_meta($post->ID, 'article-link', true);?>
<?php if ( $article_link ) : ?>
<a href="<?php echo $article_link ?>" class="more-link"> </a>
<?php else : ?>
<a href="<?php the_permalink(); ?>" class="more-link"> </a>
<?php endif; ?>
</li>
<?php endwhile; endif; ?>
在上面的例子中,如果自定义字段&#39; article-link&#39;有一个值,那么该值(一个URL)被用作链接中的href,而不是文章的永久链接。
希望我有所帮助!