将未附加的特色图片附加到各自的帖子

时间:2017-08-02 作者:Michael Rogers

所以,不知何故,在多次迁移之后,我最终得到了数千张未附加的特色图片。它们存在于媒体库中,用作文章的特色图像,但不附于这些文章。换句话说,他们的post\\u父项=0。

我需要一种方法来重新附加这些图像的职位,他们被设置为特色图像。

因此,对于每个post\\u parent=0的图像,我必须找到它们的post\\u id,并更新附件的post\\u parent以匹配post id。

我不是程序员,我知道需要做什么,但我不知道如何编写代码。如果有人能举个例子,那就太好了。谢谢

1 个回复
最合适的回答,由SO网友:kero 整理而成

仅解决此SQL的有趣任务!因此,我找到了以下方法,并在本地实例中使用了测试数据。在为整个站点运行之前,请先试用并准备好备份。

UPDATE wp_posts AS p
INNER JOIN (
  SELECT p.ID AS attachment_id, pm.post_id AS post_id
  FROM wp_posts p
  JOIN wp_postmeta pm
  ON pm.meta_value = p.ID
  WHERE (
    pm.meta_key = \'_thumbnail_id\'
    AND
    p.post_type = \'attachment\'
    AND
    p.post_parent = 0
  )
) AS b ON p.ID = b.attachment_id
SET p.post_parent = b.post_id
它的作用如下:(图像是帖子)

  • SELECT 类型为的所有帖子attachment 还有一个父母0_thubmnail_id
  • UPDATE 立柱,设置post_parent_thumbnail_id 关系谢谢to this answer, 用于将子查询获取到UPDATE.

结束

相关推荐

Featured images get shrunken

上传特色图片时,我遇到的问题是,所有图片都会自动缩小。我想保留原始图像。检查this example. 所有员工的图片都会自动缩小,但在特色图片中,我上传了员工的完整图片。我认为图像太大,wordpress会自动缩小图像,因此,我在媒体库中缩放并裁剪了图像。一些图像已修复,但一些图像仍然存在问题。有没有一种方法可以让原始上传的图像按原样显示?