WordPress如何处理帖子内容中的附件元数据?

时间:2018-08-28 作者:Lucas Bustamante

我知道“附件”对象可以在媒体库中有自己的元数据。但是,它也可以在post作用域中拥有自己的元数据。

WordPress如何处理附件元数据?它是否会在数据库中创建一个新的注册表,就像内容中元数据的“父子”关系一样?

在wp\\u get\\u attachment\\u metadata()函数的源代码中,我看不到任何引用:https://core.trac.wordpress.org/browser/tags/4.9.8/src/wp-includes/post.php#L5176

谢谢

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

与WordPress中的几乎所有内容一样,媒体项(又名附件)存储在wp_posts 表,其元数据存储在wp_postmeta 桌子这个wp_postmeta 数据通过帖子ID链接到帖子。如果媒体项设置为特定帖子的附件,则在wp_posts 表itsparent 设置为实际职位的职位ID。直接上载到媒体库的项目是未附加的,也就是说,它们没有父集合。在任何一种情况下,附件/媒体项本身只有一种类型的元数据-无论分配给它的元数据是什么,都可以在媒体库或插入媒体模式中看到。

如果您在编辑帖子时以媒体模式编辑媒体元(如alt文本),或直接在媒体库中编辑,WP会将其保存到wp_postmeta 与媒体本身关联,并在您将媒体添加到新帖子/页面/CPT时使用该元数据。但是,如果在编辑器中编辑alt文本或其他信息(仅在帖子内容本身中),则只会保存到wp_posts 帖子本身的表-它只影响关联帖子中的HTML。它不会更改该附件保存的元数据,因此如果随后将图像添加到其他帖子,它将使用wp_postmeta 来自图像的alt文本,而不是您在帖子中使用的更新的alt文本。

结束