显示使用自定义域指定的类别的帖子

时间:2011-09-21 作者:James Olney

我有一篇文章显示了内容下面特定类别的标题和摘录。目前,这被编码到如下特定模板中:

<?php query_posts(\'category_name=dogs&showposts=5\'); if (have_posts()) : ?>
这很好,但我需要客户端能够从通用模板中自行处理此问题,这样我就不需要每次创建类别时都创建一个新模板。

我希望客户端像正常情况一样创建一篇新文章,然后使用自定义字段从下面指定的类别中引入文章。

为了显示类别名称,我会使用类似的名称(假设我们有一个自定义字段名“featured”,值为“dogs”:

<?php echo get_post_meta($post->ID, \'featured\', true); ?>
因此,我想我需要做的是,将第一个示例中的category\\u name=dogs部分替换为引入元信息的部分。

这就是我知识的终点。我知道我可以将一个帖子发布到另一个帖子中,但我不知道如何解决它。

请帮帮我!

谢谢

詹姆斯

ps使用wordpress 3.2.1和自定义主题

2 个回复
SO网友:James Olney

终于解决了!我需要在每个循环的末尾添加以下内容:)

<?php $my_query = new WP_Query(array( \'category_name\' => get_post_meta($post->ID, \'featured\', true), \'posts_per_page\' => 5, )); if ($my_query->have_posts()): ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?> content etc goes here
<?php endwhile; ?> <?php endif; ?><?php wp_reset_query(); ?> 
非常感谢

詹姆斯

SO网友:onetrickpony

尝试avoid query\\u帖子:

$my_query = new WP_Query(array(
  \'category_name\'  => get_post_meta($post->ID, \'featured\', true),
  \'posts_per_page\' => 5,
));

if ($my_query->have_posts()){

   while ($my_query->have_posts()){

     $my_query->the_post();

     the_title();
     the_excerpt(); 
   }

 }

结束

相关推荐

当使用GET_CATEGORIES或类似工具时,是否也可以过滤包含某些标记的结果?

get_categories() 默认情况下,相关函数不会返回空类别-没有帖子的类别。我想,既然可能有一些底层代码检查帖子数量,那么是否可以额外过滤该列表,使其仅包括那些本身包含与特定标记相关联的帖子的类别?或者有没有一种简单的替代方法来获取这些信息?例如,如果我有一些贴子带有“audio”标签,我想用一种方法get_categories() (或类似结果),但仅检索包含带有“音频”标记的帖子的类别列表。我知道我可能必须直接使用标签ID。我只是在寻找“最好的”,或最合适的方式来做到这一点。谢谢