【问题标题】:Image post attachments not specific to post图片帖子附件不是特定于帖子的
【发布时间】:2017-08-15 09:57:37
【问题描述】:

我的问题:我在一篇文章中加载了几张图片,因此它们被动态分配给该文章的附件。因此,当我从帖子中删除图像时,它们仍会根据我调用的项目数量反映在画廊滚动中。

这是我调用附件的代码

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。

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

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    与其尝试围绕它编写代码,不如将图像从上传到的帖子中分离出来更简单。您可以在媒体库中执行此操作:

    1. 确保您处于列表视图并且“上传到”列显示
    2. 在“上传到”列中将有一个“分离”链接 帖子名称 - 点击它会破坏它与上传到的帖子之间的关联。

    仅供参考,对于与帖子无关的图像,将显示一个“附加”链接,因此如果您错误地分离了图像,您可以使用它重新附加它。

    【讨论】:

    • 我希望有一些插件可以批量卸载。存储库中的所有内容都已过时。感谢wordpress.org/plugins/unattach-and-re-attach-attachments,我在这里找到了一些线索
    • @omukiguy,该插件的评论表明它仍然有效,所以你可能很幸运。很高兴我能够为您指出正确的方向,而不是尝试解析图像的帖子编辑器内容:-)
    • @omukiguy 较旧的插件可能不安全,但您只需要使用一次即可分离图像(只要您记住不要再次在帖子中上传额外的图像!)。因此,您可以在维护模式下运行 WP,安装并使用该插件,然后立即再次删除它的所有痕迹。但是,如果您确实使新插件正常工作,请不要忘记将其添加到您自己的问题的答案中:-)
    • 我分叉了插件并将其添加到 WordPress 存储库中。 wordpress.org/plugins/…
    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2013-08-29
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多