Wp_post中的附件和wp_postmeta中的附件有什么不同?

时间:2015-07-10 作者:Nam G VU

Woocommerce dummy products 我注意到,在数据库中,不同的表中有不同的记录,但指向相同的照片附件。

问题是为什么?这些记录之间有什么区别?这是数据存储中的重复/冗余吗?

让我们采取行动post_id=16 如下快照。我们将看到如下内容。

表中的wp_posts, id=16的立柱具有post_type=附件及其guid 指向T1_front_1.jpg 图像enter image description here

表中的wp_postmeta, post\\u id=16的一个也将meta_key_wp_attachment_filemeta_value 指向the same image T1_front_1.jpg.enter image description here

2 个回复
SO网友:gmazzap

附件是帖子。帖子表包含关于附件的信息。

在WordPress中,每个上传的媒体都有自己的帖子,其中post_type\'attachment\'post_status\'inherit\'.

事实上,您可以使用用于获取其他帖子类型的函数来获取附件帖子类型,如post、page或任何CPT。

其中包括WP_Query, get_posts()get_post().

里面有什么posts 每个附件岗位的表

  • post_title 列用于附件标题post_excerpt 用于附件标题post_content 用于附件说明请注意,附件类型可能有post_parent 指向上传附件的帖子的ID。

    例如:

    get_posts( \'post_type=attachment&post_parent=10\' );
    
    检索从ID为的帖子的编辑页面加载的附件的所有帖子对象10;

    附件不仅是帖子,还有一些媒体信息(尤其是图像)根本不符合帖子表。

    所有这些信息都存储在Posteta表中,其中post_id 列是指posts表中的附件行。

    里面有什么postmeta

    例如"alt" 属性存储在具有键的元字段中\'_wp_attachment_image_alt\'.

    带键的元字段\'_wp_attached_file\' 包含上载文件的相对路径(到内容文件夹)。

    用于在以下函数中构建附件URL和路径wp_get_attachment_url(), wp_get_attachment_image_src(), get_attached_file() 等等

    最后,现场\'_wp_attachment_metadata\' 包含不同的信息(在数据库中的序列化数组中):

    图像大小(按键下\'width\'\'height\')intermediate sizes

    请阅读this answer 了解更多详细信息。

    钥匙"sizes"\'_wp_attachment_metadata\' 字段包含一个数组,其中包含有关所有生成图像的信息:创建的文件、大小(宽度和高度)等。

    请注意,从\'_wp_attachment_metadata\' 未使用公共get_post_meta() 但是具体的wp_get_attachment_metadata(), 当它触发过滤器时。

    如果您对特定生成图像的相关信息感兴趣,则函数image_get_intermediate_size() 很方便。

    使用特定功能一般来说,如果需要附件信息,请使用特定功能,避免从数据库中提取数据;它更难,不会触发挂钩,可能会破坏核心、主题和插件的兼容性。

    WordPress中有很多函数可以处理附件,this 应该给你一个主意。。。

    然而,主要功能都列在这个答案中。

SO网友:Vee

第一个是显示附件文件路径,第二个是文件属性大小、类型、高度、宽度等。

谢谢

wp\\u post中的附件显示了附件的基本详细信息标题、时间、作者等。

wp\\U Posteta显示附件所有其他详细信息,例如附件将是文本、pdf、图像等,因此对于不同类型的帖子,它具有不同的元数据。

谢谢

结束