循环浏览帖子并将插入的媒体和帖子标题显示为链接

时间:2014-10-09 作者:user49869

我在摆弄一个我解决不了的问题。在循环中,我想找到插入的媒体文件(pdf、doc等)的URL,并将其显示为锚定。此外,我想显示当前帖子的标题作为链接的内容。我目前的尝试:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
     <a href="<?php wp_get_attachment_url(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>
<?php endif; ?>
显示标题完全可以。但是href="" 没有显示任何内容。谢谢

注意:它是一个媒体文件,只是作为帖子内容插入,而不是特色图片或其他东西。

1 个回复
SO网友:Justin Bell

我快速瞥了一眼other question 在其他注释中引用,以及如何在附件中循环的要点与wp_get_attachment_image 文档示例。简而言之,特定帖子上的任何附件都会通过ID引用该帖子。

特别是,理解附件也是帖子类型的帖子本身是至关重要的attachment. 在主循环内,您可以通过对所有附件运行嵌套查询来获取附件,这些附件的发布父级等于外部循环的发布ID:

// Our main (outer) query:
while(have_posts()) {
    the_post();

    $nested_query = new WP_Query(array(
        "post_type" => "attachment",
        "post_status" => "inherit",
        "posts_per_page" => -1,
        "post_parent" => get_the_ID()  // attachments belonging to the post we\'re looking at
    ));
    $attachments = $nested_query->get_posts();  // get an array of post objects for each attachment
    foreach($attachments as $att_post) {
        printf("<a href=\'%s\'>%s</a>", wp_get_attachment_url($att_post->ID), get_the_title());
    }
}
我怀疑上面的内容是否符合您的要求,主要是因为我认为您不想为每一个带有文章标题的附件附和一个锚定。然而,为了便于说明,您可以通过post循环中嵌套的附件进行循环。

结束

相关推荐

Split loop into columns

我正在尝试将循环拆分为4列。我的逻辑有很大的缺陷,我的布局也有问题。这么简单的问题,但我正在努力解决。我基本上需要将每组四根柱子包装在一个容器“行”分区中。当然,剩下的任何柱子,即使少于四根,也要进行包装。<div class=\"twelve columns\"> <?php $i = 0; if (have_posts() ) : while ( have_posts() ) : the_post();