繁体   English   中英

WordPress:如何通过循环显示特定类别的帖子?

[英]Wordpress: How to show posts from a specific category via the loop?

我有一个菜单栏,其中包含不同的主题(技术,食品等)。当我单击其中的一个时,我想显示分配了该特定主题的所有帖子。 我在网上找到的所有内容都向我展示了如何使用ID指定主题。 但是,我不想对其进行“硬编码”,而是运行一个获取页面名称的函数,然后显示与该类别相对应的帖子。 因此,本质上,我不想输入查询参数中的cat = 1,而是要输入获取页面标题的代码,因为页面标题等于我要显示的类别。 我已经在下面发布了我的代码的第一部分。 除此之外,我的循环工作正常,并按我希望的方式显示内容。 我只需要弄清楚如何动态获取页面标题并将其分配为类别值。 感谢您的任何帮助

<?php query_posts('cat=1'); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

如果要使用自定义模板:

这个想法可以。 您需要使用与类别标签相同的页面(在菜单中)。

然后使用以下命令获取页面slug:

<?php global $post; $post_slug=$post->post_name; ?>

模板的完整代码:

global $post;
$post_slug=$post->post_name;

 $args = array( 'category_name' => $post_slug );
// The Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
    $the_query->the_post();
    echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
// no posts found
}

或者,您可以从“外观” >>“菜单”中将这些类别添加到菜单中,然后

  1. category.php
  2. archive.php

只要您需要修改以符合您的要求,它就会显示您特定类别的所有帖子。 有关更多信息: https : //codex.wordpress.org/Category_Templates

我想菜单上的那些主题是类别的链接(您可以将类别添加到菜单)。 如果是的话,那么在它们中包含category.php模板文件将自动列出该类别中的所有帖子,并将页面标题设置为category

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM