0

在 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 的情况下它不起作用......而且我不知道如何正确格式化它,也找不到任何关于我应该做什么的参考。

非常感谢,

凯文

4

1 回答 1

0

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

于 2013-03-04T14:25:52.420 回答