Wordpress Foreach,将类别ID变量传递给显示帖子?

时间:2014-05-26 09:17:56

标签: php wordpress foreach wordpress-theming

我试图显示:

  1. 链接类别标题
  2. 类别说明(修剪为自定义长度)
  3. 类别" Readmore Styled Link
  4. 该类别的帖子标题列表,链接到帖子
  5. 我已经使用Foreach循环完成了任务1-3,但我似乎无法通过我过去使用的方法在每个类别中显示帖子标题。最重要的是我无法弄清楚如何运行get_posts();或类似于$ args数组中的变量的函数。

    我觉得这真的需要用foreach循环来完成,因为我正在使用20+类别。我尝试过混合/匹配第三方短代码插件,但由于" wp操作的顺序"这个想法也失败了:(任何帮助都会非常受欢迎,因为我在过去的3-4个小时里一直在转动轮子。

    源代码→ http://pastebin.com/Mm9u27dF

    代码输出:

    <p class="topic-link-heading"><a href="http://localhost:81/wordpress/?cat=3" id="topic-link">Understanding Democratic Governance and Market Economy</a></p><p class="topic-list">There is an ongoing debate in academic circles and among practitioners on the linkages between democratic governance and market economies. It has intensified in light of transitions taking place after the fall of the Berlin Wall. Amidst expectations that all &hellip; <a href="http://localhost:81/wordpress/?cat=3" > Topic Overview &rarr;</a></p>3

    请注意

    &#34; 3&#34;仅显示以显示类别ID变量正确输出

1 个答案:

答案 0 :(得分:1)

根据我的理解,您希望显示特定类别的帖子,并且您在执行此操作时遇到问题。

您正在循环浏览类别,我认为您只需使用query_posts功能查询具体类别的相关帖子(我已从官方文档中获取代码) :

<?php
 $post_args = array(
'posts_per_page'   => 5,
'offset'           => 0,
'category'         => $category->term_id, //in your case.
'orderby'          => 'post_date',
'order'            => 'DESC',
'include'          => '',
'exclude'          => '',
'meta_key'         => '',
'meta_value'       => '',
'post_type'        => 'post',
'post_mime_type'   => '',
'post_parent'      => '',
'post_status'      => 'publish',
'suppress_filters' => true );

// The Query
query_posts( $post_args );

// The Loop
while ( have_posts() ) : the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

// Reset Query
wp_reset_query();
?>

要检查帖子是否被查询,请执行以下操作:

 $relevant_posts = query_posts( $post_args );
 print_r($relevant_posts); //Should print an associated array with the posts.

因此,您可以使用您在args循环中获取的特定类别填充for变量,然后只查询帖子。有了这些帖子后,您可以轻松地参考这些链接。在循环播放帖子时,此documentation也可能派上用场。