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元键值,就像其他任何值一样。
“附件的构成要素”;随附“
The
post_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 它如何与附件交互,甚至是否与附件交互。