如何在/%CATEGOR%/url上按类别获取帖子?

时间:2020-03-09 作者:qwaz

我想在以下位置显示“新闻”类别的所有帖子的标题http://example.com/news. 我已将permalinks设置为http://example.com/%category%/%postname%/. 我使用archive.php 根据WordPress主题手册,当访问者按类别请求帖子时使用的模板。

这就是我所拥有的archive.php

<?php if ( have_posts() ) : ?>

    <?php the_archive_title(); ?>

<?php endif; ?>
它返回的不是我想要的:

类别:新闻

在本例中,返回属于“新闻”类别的帖子列表的正确方法是什么?是archive.php 正确的模板?

P、 我知道也有人问过类似的问题,但我发现答案中有许多不同的方式,似乎有点老套。我正在寻找一种正确的本土方法来达到预期的效果。

1 个回复
最合适的回答,由SO网友:Cadu De Castro Alves 整理而成

是存档。php正确的模板?

archive.php 是加载任何类型的存档帖子最常见的文件。但每当用户加载类别存档页面时,WordPress模板系统都会按以下顺序查找文件:

类别slug。php→ 类别id.php→ 类别php→ 档案文件php→ 指数php

如果要为新闻类别创建特定模板,应使用以下选项之一:

category-news.php: 仅适用于新闻类别

category.php: 适用于所有类别

要获取新闻类别下的帖子列表,应使用以下代码:

<?php if(have_posts()) : ?>

    <h1 class="archive-title">Category: <?php single_cat_title( \'\', false ); ?></h1>

<?php while(the_posts()) : the_post(); ?>

    <h2 class="post-title"><?php the_title(); ?></h2><br />
    <div class="post-content"><?php the_content(); ?></div>

<?php endwhile; ?>

<?php endif; ?>
有关类别模板的详细信息,我建议您阅读this article.