使用wp_get_attachment_link获取附件帖子

时间:2012-03-10 作者:jw60660

上的WordPress codexwp_get_attachment_link 表示可以使用$permalink参数链接到页面,而不是图像。但是我想链接到这篇文章。我正在尝试使用以下内容获取图像列表(更新,请参见下面的答案):

<?php $new_query = new WP_Query(\'&showposts=1\'); ?>
                        <?php while ($new_query->have_posts()) : $new_query->the_post(); ?>
                        <?php $args = array (
                               \'post_type\' => \'attachment\',
                               \'numberposts\' => 18,
                               \'orderby\' => \'date\',
                               \'status\' => \'publish\',
                               \'post_mime_type\' => \'image\',
                               \'parent\' => $post->ID
                        ); ?>
                        <?php $attachments = get_posts($args);
                               if ($attachments) {
                                   foreach ($attachments as $attachment) {
                                       echo \'<li>\';
                                       echo \'<a href=" \' . get_permalink( $post->ID ) . \'">\';
                                       echo wp_get_attachment_image($attachment->ID, \'thumbnail\' );
                                       echo \'</a></li>\';

                                   }
                               };

                               endwhile;

                               ?>   
无法将图像链接到帖子。我不知道如何过滤这个来获取帖子,而不是页面。

1 个回复
最合适的回答,由SO网友:Mamaduka 整理而成

是的,如果你通过第三名($permalink) 参数在中为truewp_get_attachment_link() 图像将链接到附件的页面,而不是图像本身。您可以使用wp_get_attachment_link 过滤器以更改该参数的行为,但在这种情况下,它只意味着覆盖整个函数。相反,我会使用wp_get_attachment_image()get_permalink()

UPDATE

大概wp_get_attachment_image() 更适合这种情况。以下是你剪下的头发的样子:

if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
       echo \'<li>\';
       echo \'<a href="\' . get_permalink( $post->ID ) . \'">\';
       echo wp_get_attachment_image( $attachment->ID, \'thumbnail\' );
       echo \'</a></li>\';
    }
}

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢