需要有关媒体/文件/附件的明确说明

时间:2020-07-03 作者:J.BizMai

在导入期间,我需要添加图像并使用WPML链接到自定义帖子,如:

法语第1篇

1.1图片foo。jpg(在库中可见并附加到此帖子,并添加为特色图片)

1.2图片栏。jpg(在库中可见并附于此帖子)

英语第1篇

2.1图片foo。jpg(在库中可见,并附加到此帖子,添加为特色图片)

2.2图片栏。jpg(在库中可见并附于此帖子)

法语第二篇。。。

有时我会有这些奇怪的行为:

特色图片在帖子中可见,但在库中不可见其他图片在库中发现但不可见,以及其他一些关于此的错误,因此,我想了解Wordpress如何在库中获取图片并附加到其他自定义帖子类型中。数据库中发生了什么?

如果你在网上有很好的教程或解释,请与我分享链接。

1 个回复
SO网友:Tom J Nowell

WP中的附件存储为attachment 哪些引用文件物理存储在uploads文件夹中。这就是为什么如果将文件FTP到uploads文件夹中,它不会显示在媒体库中。

这意味着媒体库是一个后期存档,就像管理和前端中的其他后期存档一样。特别列出类型的帖子attachment. 媒体库不是文件夹/文件系统浏览器。

这也意味着:

书写不好pre_get_posts 过滤器可能会影响它,始终检查它是否是主查询,是否是前端attachments 具有post IDattachments 可以发布元数据、注释和分类attachments 像其他帖子一样,有现成的URL和主题模板,特色图片只是一个帖子元键,其值是一个附件ID。除了在帖子编辑器中有一个特殊的UI之外,它们没有什么特别之处。不过,媒体库模式在这方面没有任何特殊功能。

存储上传项目的URL也是一种糟糕的做法,而使用附件帖子的ID是最佳做法。

默认情况下,WP将仅显示类型为的帖子post 在存档中,这就是为什么您看不到附件或其他内部帖子类型,如列出的导航菜单项。你可以用pre_get_posts.

如何存储特色图像/帖子缩略图

这是一个附件ID号,保存为名为_thumbnail_id. 该ID可以是任何数字,尽管它是一个类型的帖子是有意义的attachment. 就是这样,它只是一个post元键值,就像其他任何值一样。

“附件的构成要素”;随附“

Thepost_parent post表中的参数。它的工作方式与父页和子页完全相同。在数据库级别上都是一样的,没有专门的酱汁或字段。

然而,它的重量远远小于页面。连接可能会改变WP Admin中的一些次要UI,但这无关紧要。

附件附加状态对查询没有影响,除非显式查询。除非插件对其进行修改,否则媒体库通常不会这样做。

附件

可以在未附加的帖子中使用post_parent 关系此值通常用于希望显示帖子中所有图像的列表的用户,或者在单击附件前端页面后作为一种方便的方式链接回帖子。

因此,这主要是惯例。附件ID可以在任何地方引用,并且there is no special treatment from the database 用于改变其行为的附着附件

我可以附加到多个帖子吗

编号post_parent posts表的列包含单个数值,而不是数组或列表。

因为一个帖子只能有一个单亲,attachment 帖子只能附加到单个父级。您不能附加attachment 对于数据库级别的多篇文章,就像您不能有一个包含多个直接父级的页面一样。

如何取消附加数据库中的附件

未连接attachment 帖子有一个post_parent 属于0. 所有顶级帖子和页面都是如此

CPT呢

自定义帖子类型只是帖子类型。数据库中唯一的区别是post_type posts表中的列。在数据库级别上,它们的行为或逻辑没有差别,也没有影响附件的差别。

唯一接近的是CPT是否支持特色图像。所有这一切只是切换UI。如果手动添加post meta,它仍然可以工作。

与CPT的主要实际区别都是在PHP中定义的,而不是在数据库中定义的,例如。postpagebuiltin 设置为true 但它们都是在PHP运行时定义的。行为差异也都是在PHP中定义的。在数据库中,这是一个公平竞争的环境。

语言呢

WordPress没有多语言支持,因此这没有考虑在内。从这个意义上讲,帖子是非语言的。

如果您安装了添加语言的插件,那么you will need to consult that plugins documentation or contact their support routes 它如何与附件交互,甚至是否与附件交互。

相关推荐

Attachments without images

我正在使用Attachments 插件,但我相信这个问题适用于常规媒体库。我想做的是有一个“附件”(元数据、标题、标题),但没有与之关联的图像。原因是,我想将附件视为“项目项”,可以是图像或文本块。这可能吗?