如何显示类别中的单个(当前)帖子

时间:2012-12-14 作者:Dz.slick

如何让下面的代码只显示与当前URL相对应的当前帖子,而不是显示来自同一类别的所有帖子?Barakadam,它可以工作,但它带来了该类别中的所有帖子,而不是点击的帖子。

<?php
 $category = end(get_the_category());
 $current_name = $category->cat_name;
?>
<?php 
   // assign the variable as current category
   $category_name = $current_name;

  // concatenate the query
  $args = \'category_name=\' . $current_name;

  // run the query
  query_posts( $args );

  if ( have_posts() ) : while ( have_posts() ) : the_post() ; 

 // do something here

the_title();
the_content( __(\'Read the rest of this page »\', \'template\'));

endwhile; endif;

wp_reset_postdata();

?>

2 个回复
最合适的回答,由SO网友:barakadam 整理而成

您可能想要的是:

1) 显示特定类别中所有帖子列表的主页。

2) 显示此列表中用户单击的单个帖子的页面。

要创建页码,您无需执行任何操作。WordPress为您提供了一个自动URL方案。只需使用:

http://yourdomain.com/category/name-of-you-category
此页面将显示该类别中所有帖子的列表(前提是您在主题文件夹中未触及default category.php页面)。

然后,当用户单击此列表中的帖子时,他将被发送到相应的帖子页面。这个页面是由WordPress使用你的主题单曲创建的。php页面。因此,如果你在这里插入了你向我们展示的代码,那就错了,我知道你会得到一份所有帖子的列表。只需将您的代码替换为以下代码:

<?php get_header(); ?>
…
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>    
<?php the_content(); ?>
<?php endwhile; // end of the loop. ?>
…
<?php get_sidebar(); ?>
…
<?php get_footer(); ?>
这将只显示当前查看的帖子的内容(由URL指定并由WordPress默认查询自动检索)。

SO网友:markcbain

不知道你的意思

“仅与当前URL对应的当前帖子”

但我的第一个想法是\'posts_per_page\' => 1 作为论据。

结束

相关推荐

Sidebar limiting to 10 posts?

我的单曲中有以下代码。php页面:UPDATED CODE <?php if (have_posts()) : the_post(); $post_id = get_the_ID(); if ( is_single() ) { $cats = get_the_category(); $cat = $cats[0]; } else { // category archives