我在single.php中使用了一个简单的jQuery图像幻灯片,即调用我帖子的所有图像附件。但我想排除在实际帖子中发布的图像,但保留所有图像实际附加到帖子。
我正在使用这段代码来获取所有图片附件,但不幸的是,它也抓住了帖子内容中的所有图片,这是不必要的:
<?php
$attachs = get_posts(array(
'numberposts' => -1,
'post_type' => 'attachment',
'post_parent' => get_the_ID(),
'post_mime_type' => 'image', // get attached images only
'output' => ARRAY_A
));
if (!empty($attachs)) {
foreach ($attachs as $att) {
// get image's source based on size,
// can be 'thumbnail', 'medium', 'large', 'full'
// or registed post thumbnails sizes
$src = wp_get_attachment_image_src($att->ID, 'full');
$src = $src[0];
// show image
echo "<div style='margin: 0 10px 10px 0; float: left'><img src='$src' /></div>";
}
}
?>
有什么建议吗?
答案 0 :(得分:0)
不幸的是,在Wordpress中,附加图像和插入帖子的图像之间没有区别。人们在网络上使用的一个常见解决方案是在帖子中添加一个meta_data,例如“_inserted_image”(true | false),当你在帖子中插入内嵌和图像时,使用钩子来更新这个值。我认为有点太复杂了。
一个简单的解决方法是专门为幻灯片创建一个类别,并立即从媒体库中将用于幻灯片的所有图像放在此类别中。然后只需添加'category'=&gt; 'for_slideshows'在你的获取帖子参与你的条件。
$attachs = get_posts(array(
'numberposts' => -1,
'post_type' => 'attachment',
'post_parent' => get_the_ID(),
'post_mime_type' => 'image', // get attached images only
'output' => ARRAY_A,
'category' => 'for_slideshows'
));
希望它有所帮助。