我的问题:我在一个帖子中加载了几张图片,因此他们动态地为这个帖子分配了一个附件。因此,当我从帖子中删除图像时,它们仍会根据我调用的项目数量反映在库中滚动。
这是我调用附件的代码
function sunset_get_attachment($num = 1)
{
$output = '';
if (has_post_thumbnail() && $num == 1):
$output = wp_get_attachment_url(get_post_thumbnail_id(get_the_ID())); else:
$attachments = get_posts(array(
'post_type' => 'attachment',
'posts_per_page' => $num,
'post_parent' => get_the_ID(),
));
if ($attachments && $num == 1):
foreach ($attachments as $attachment):
$output = wp_get_attachment_url($attachment->ID);
endforeach; elseif ($attachments && $num > 1):
$output = $attachments;
endif;
wp_reset_postdata();
endif;
return $output;
}
WordPress说 您可以在2个位置上传图像:媒体页面(uploads.php)或发布/页面编辑页面中的添加媒体按钮。当您从帖子编辑屏幕上传图片时,' post_parent'对于上传的所有图像都设置为当前帖子。当您从“媒体”页面上传图片时,' post_parent'设置为0.
当您在媒体页面上传的图片首次插入帖子的内容中,或者包含在帖子内的图库中时,< post_parent'字段更改为当前帖子,就像使用帖子编辑屏幕的“添加媒体”按钮上传一样。
正如您所注意到的那样,特色图片不会发生这种情况,当媒体页面上传的图像用作帖子的特色图片时,其post_parent保持不变。
只有改变的是元字段' _thumbnail_id'是为帖子创建的,其值设置为附件发布的ID。
在此输入图片说明
因此,如果您的帖子ID为10,则get_post_meta(10,' _thumbnail_id',true);将返回帖子缩略图的ID。
请注意,将post_parent设置为帖子ID的图片并不意味着它已插入帖子的内容中,可以使用帖子“添加媒体”按钮上传,但不会插入帖子内容中。
此外,该计数属实,插入帖子内容的图片可以将post_parent设置为另一个帖子ID。
恳求 有没有办法只调用当前发布的帖子编辑器中的图像?
答案 0 :(得分:1)
不是试图围绕它进行编码,而是将图像从上传的帖子中分离出来更简单。您可以在媒体库:
中执行此操作仅供参考,对于与帖子无关的图像,将显示“附加”链接,因此如果您错误地分离图像,则可以使用它来重新附加图像。