你好!我正在寻找一种方法来列出帖子的媒体库中的所有图像文件。
我的意思是,如果在创建或编辑帖子时上传了文件,是以某种方式与帖子关联的文件,我可以根据此数据创建列表。
我认为next_image_link()/ previous_image_link();模板标签就像我找到的那样近。
我认为这应该很接近:
$query = 'SELECT * FROM `wp_posts`
WHERE `post_parent` = \''.$_GET['post_id'].'\'
AND `post_mime_type` = \'image/jpeg\'
ORDER BY `menu_order` ASC';
感谢。
答案 0 :(得分:11)
在wordpress术语中,您上传到特定帖子的每张图片都称为附件。 要列出所有附件,您可以使用get_children()功能:
$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=10' );
$counter=0;
foreach( (array) $images as $attachment_id => $attachment )
{
$counter++;
echo "<a href='".wp_get_attachment_link( $attachment_id ) . "'>image $counter</a><br />";
}
算法是这样的。
答案 1 :(得分:0)
如果您正在寻找管理图片库的插件,可以使用attachments
插件,
http://wordpress.org/plugins/attachments/
它使图库保持独立,并且不会将图片库短代码放在帖子内容中,从而使您可以在帖子/页面/自定义帖子中完全保留图像显示。您也可以通过拖放
更改图像的顺序这是一个如何检索图库图像的示例代码,
<?php $attachments = new Attachments( 'attachments' ); /* pass the instance name */ ?>
<?php if( $attachments->exist() ) : ?>
<h3>Attachments</h3>
<p>Total Attachments: <?php echo $attachments->total(); ?></p>
<ul>
<?php while( $attachments->get() ) : ?>
<li>
ID: <?php echo $attachments->id(); ?><br />
Type: <?php echo $attachments->type(); ?><br />
Subtype: <?php echo $attachments->subtype(); ?><br />
URL: <?php echo $attachments->url(); ?><br />
Image: <?php echo $attachments->image( 'thumbnail' ); ?><br />
Source: <?php echo $attachments->src( 'full' ); ?><br />
Size: <?php echo $attachments->filesize(); ?><br />
Title Field: <?php echo $attachments->field( 'title' ); ?><br />
Caption Field: <?php echo $attachments->field( 'caption' ); ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>