从每个类别中获取最新帖子,并在wordpress中添加帖子

问题描述:

在wordpress安装的主页上,我想显示每个类别的最新帖子,包括类别标题,帖子附件,帖子标题,帖子摘录和发布日期。从每个类别中获取最新帖子,并在wordpress中添加帖子

帖子附件将始终是“精选图片”的缩略图版本。我希望使用附件而不是链接到文章的主要图像的原因是,我们正在使用一个插件,允许编辑器发布覆盖特色图片的YouTube链接,因此如果我使用“get_the_post_thumbnail”,它将拉入视频而不是图像。

我目前从我已经找到了解决方案的混搭使用的代码如下:是

 <?php 


     query_posts('cat=3&showposts=1'); 
      if(have_posts()) : 
      the_post(); 
      $images = get_children(array(
       'post_parent' => get_the_id(), 
       'post_type' => 'attachment', 
       'post_mime_type' => 'image', 
       'orderby' => 'ID', 
       'order' => 'ASC', 
       'numberposts' => 1 
      )); 
      foreach((array)$images as $key => $image){ 
       echo wp_get_attachment_image($key); 
       echo "<a href='" . get_permalink() . "'>Link</a>"; 
      } 
      the_excerpt(); 
      endif; 
     wp_reset_query(); 

    ?> 

我对上述问题如下:

1)我无法弄清楚如何得到类别名称(我可以硬编码并重复上面的每个类别,但这似乎是作弊)。

2)当我重复这个代码的下一个类别的图像或永久链接不显示。我认为这是因为我重复引用或类似的东西,但我太业余与Wordpress知道。

任何帮助将不胜感激。最后的结果是这个样子:http://www.tagdesignuk.com/lovethat/

问候,

凯文

UPDATE:

我现在已经简化了这一点,但仍然感到有点卡住了。我已经删除了视频插件,因为稍后我会发现一个更简单的方法,所以现在我唯一的问题是拉入正确大小的缩略图。

我使用下面的代码:

<?php 
$catquery = new WP_Query('cat=3&posts_per_page=1'); 
while($catquery->have_posts()) : $catquery->the_post(); 
?> 
<a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> 
<?php echo get_the_post_thumbnail(); ?> 
<?php the_content(); ?> 
<?php the_date(); ?> 
<?php endwhile; ?> 

如何更改缩略图大小的任何想法?文档(http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail)说,使用如下:

<?php echo get_the_post_thumbnail($post_id, $size, $attr); ?> 

,但在后ID它不工作,由于缺少...我不知道如何将它正确地格式化,并不能找到任何引用了我应该做的。

非常感谢,

凯文

+0

1>你可以一次查询多个类别 2>看起来很怪异的行为,你可以显示代码吗? – Techmonk 2013-03-04 13:58:28

+0

我只是简单地重复上面的代码改变猫ID,多数民众赞成它。我对wordpress非常陌生,因为我们通常使用我们自己的cms与标准php一起构建,所以我不习惯wordpress函数。你能给我举个例子吗?非常感谢! – 2013-03-04 14:01:43

+0

query_posts('cat = 1,2,3');也可以工作,或者你可以指定你不想发布的类别,比如query_posts('cat = -1,-2'); – Techmonk 2013-03-04 14:05:08

您可以查询所有类别与get_categories(),然后使用name属性。举例来说,你应该看看Wordpress Codex entry这个函数。