通过wordpress中的帖子附件获取每个类别的最新帖子

时间:2013-03-04 13:54:35

标签: php wordpress wordpress-theming

在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/

此致

凯文

更新:

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

我使用以下代码:

<?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它不起作用......而且我不知道如何正确地格式化它并且无法找到我应该做的事情的任何参考。

非常感谢,

凯文

1 个答案:

答案 0 :(得分:0)

您可以使用get_categories()查询所有类别,然后使用name属性。例如,您应该查看此函数的Wordpress Codex entry