WordPress:显示当前类别的其他帖子

时间:2010-08-08 20:26:24

标签: php wordpress

我有一个功能,显示在同一个自定义分类法下称为“问题”的所有帖子。我需要对其进行调整,以便进一步缩小以仅显示同一类别下的帖子。

我看了一下WordPress的get_the_category()函数,但没有太多运气。

以下是代码:

<?php
$issueid = get_the_term_list( $post->ID, 'issue', '', ', ', '' );
$postslist = get_posts("numberposts=100&issue=$issueid");
 foreach ($postslist as $post) : 
 setup_postdata($post); ?>

<div class="sidebar-box">

<div class="sidebar-left">

<p><a href="<?php echo get_page_link($page->ID) ?>"><?php the_title(); ?></a></p>

<p><?php the_date(); ?></p>

</div>

<div class="sidebar-right">

<?php echo get_the_post_thumbnail($page->ID, 'thumbnail'); ?>

</div>

</div>

<?php endforeach; ?>

这将正确显示当前类别ID:

<?php
$category = get_the_category(); 
echo $category[0]->cat_id;
?>

所以我尝试编辑第一批代码,只显示当前类别ID中的帖子,但它仍然会返回所有内容:

$category = get_the_category(); 
$categoryid = $category[0]->cat_id; 
$issueid = get_the_term_list( $post->ID, 'issue', '', ', ', '' );
$postslist = get_posts("numberposts=100&issue=$issueid&category=$categoryid");
 foreach ($postslist as $post) : 
 setup_postdata($post); ?>

这是get_the_category函数引用:http://codex.wordpress.org/Function_Reference/get_the_category

非常感谢任何帮助。

谢谢,

瓦德

1 个答案:

答案 0 :(得分:1)

get_the_term_list()返回一个html字符串,而不是相关类别的ID。因此,当您将$issueid传递给get_posts()时,您将包含一个html字符串,而不是整数。我相信你收到所有帖子的原因是因为WP忽略了那个查询var,因为它不是它所期望的。

您想使用get_posts()并添加“问题”ID,以便为所有帖子分配“问题”类别。

您希望使用get_the_category()获取与帖子相关的所有类别。

您是否可以澄清是否要显示与“问题”类别下当前帖子相同类别的所有帖子?您想在当前帖子之后立即列出相关帖子,还是要在侧栏中的所有“问题”帖子中显示所有相关帖子?