【问题标题】:Get latest post from each category with post attachment in wordpress在 wordpress 中获取每个类别的最新帖子,并附上帖子附件
【发布时间】:2013-03-04 13:54:34
【问题描述】:

在 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> 可以一次查询多个类别 2> 看起来很奇怪的行为,可以给代码吗?
  • 我只是简单地重复上面的代码改变猫的ID,就是这样。我对 wordpress 很陌生,因为我们通常使用我们自己的 cms 和标准 php 构建,所以我根本不习惯 wordpress 功能。你能给我一个例子来说明你的意思吗?非常感谢!
  • query_posts('cat=1,2,3');也可以,或者您可以只指定您不希望来自哪些类别的帖子,例如 query_posts('cat=-1,-2');

标签: php wordpress wordpress-theming


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-12-25
    • 1970-01-01
    • 2013-01-20
    • 2011-09-04
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多