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

时间: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中定义的,而不是在数据库中定义的,例如。post 和page 有builtin 设置为true 但它们都是在PHP运行时定义的。行为差异也都是在PHP中定义的。在数据库中,这是一个公平竞争的环境。

语言呢

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

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

相关推荐

Attachments without images

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