图片帖子附件不是特定于帖子

时间:2017-08-15 09:57:38

标签: wordpress

我的问题:我在一个帖子中加载了几张图片,因此他们动态地为这个帖子分配了一个附件。因此,当我从帖子中删除图像时,它们仍会根据我调用的项目数量反映在库中滚动。

这是我调用附件的代码

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。

恳求 有没有办法只调用当前发布的帖子编辑器中的图像?

1 个答案:

答案 0 :(得分:1)

不是试图围绕它进行编码,而是将图像从上传的帖子中分离出来更简单。您可以在媒体库

中执行此操作
  1. 确保您处于列表视图,并且“已上传到”列显示
  2. 在“上传到”列的下方会有“分离”链接 帖子名称 - 点击它会破坏它与上传到的帖子之间的关联。
  3. 仅供参考,对于与帖子无关的图像,将显示“附加”链接,因此如果您错误地分离图像,则可以使用它来重新附加图像。

相关问题