欢迎访问艾立兹站 Aliz- 专注建站教程与技术分享
您当前的位置:首页 > 建站教程 > WordPress 建站

WordPress 数据库文章表 wp_posts 字段详细说明

时间:2026-07-14 22:10:30  来源:aliz.cn  作者:SKY  阅读:

WordPress数据库文章表 wp_posts 字段详细说明

一、基础信息

1、数据表名称

默认前缀:wp_posts(可在 wp-config.php 修改数据库前缀,例如 wp123_posts)

2、核心用途

存储:文章、页面、附件、修订版本、导航菜单条目、自定义文章类型、区块模板等所有主要内容数据

3、关联数据表

  • wp_postmeta:文章自定义字段/附加元数据(核心关联表)
  • wp_term_relationships:文章和标签/分类的关联映射
  • wp_term_taxonomy:分类/标签分类法信息
  • wp_terms:标签、分类名称信息
  • wp_users:文章作者信息(post_author字段关联wp_users.ID)

二、wp_posts 完整字段说明

字段名 数据类型 核心作用 详细说明
ID bigint(20) 文章唯一主键ID 每条内容的唯一自增ID,核心主键,用于关联查询、调用文章
post_author bigint(20) 作者ID 关联 wp_users.ID,记录文章发布用户ID
post_date datetime 文章发布日期 原始发布时间(格式:YYYY-MM-DD HH:MM:SS)
post_date_gmt datetime GMT发布时间 UTC标准时区发布时间,用于跨时区同步
post_content longtext 正文内容 文章主体正文、编辑器内容、HTML代码、区块内容
post_title text 文章标题 文章/页面显示标题
post_excerpt text 文章摘要 手动填写的文章摘要、简介,用于列表页预览
post_status varchar(20) 内容状态 publish(publish)、草稿(draft)、待审核(pending)、私密(private)、回收站(trash)、自动草稿(auto-draft)、附件修订(inherit)
comment_status varchar(20) 评论状态 open(允许评论) / closed(关闭评论)
ping_status varchar(20) 引用通告状态 open/closed,是否开启pingback引用通告
post_password varchar(20) 文章访问密码 私密/密码保护文章的查看密码
post_name varchar(200) 固定别名/伪静态别名 文章URL别名(例如 hello-world),决定永久链接地址
post_modified datetime 最后修改时间 本地时区最后编辑修改时间
post_modified_gmt datetime GMT最后修改时间 UTC时区最后编辑修改时间
post_content_filtered longtext 过滤内容缓存 部分插件/格式化插件使用的备用正文字段,默认空
post_parent bigint(20) 父级ID 父页面/父文章ID;附件图片字段为对应文章ID,页面层级依赖此字段
guid varchar(255) 全局唯一标识 早期用于附件地址、唯一标识,旧版为URL,新版不依赖此字段做访问链接
menu_order int(11) 排序序号 页面/导航菜单自定义排序数值,数值越小越靠前
post_type varchar(20) 内容类型 post(普通文章)、page(独立页面)、attachment(附件图片)、revision(修订版本)、nav_menu_item(导航菜单项)、自定义文章类型(如product)
post_mime_type varchar(100) MIME类型 仅附件使用:image/jpeg、image/png、application/pdf 等文件格式类型
comment_count bigint(20) 评论总数 该文章累计评论数量,实时统计更新

三、配套核心关联表 wp_postmeta

作用:存储文章自定义字段、插件附加数据、SEO字段、模板参数、额外属性,一条meta一行记录

字段 含义
meta_id 元数据主键ID
post_id 对应文章ID(关联wp_posts.ID)
meta_key 自定义字段键名(如 _yoast_wpseo_metadesc、rank_math_focus_keyword)
meta_value 自定义字段值

查询示例(读取单篇文章自定义字段):


SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = 123;

四、常用SQL查询示例

1、查询所有已发布文章


SELECT ID,post_title,post_date,post_content FROM wp_posts
WHERE post_type='post' AND post_status='publish'
ORDER BY post_date DESC;

2、查询所有页面


SELECT ID,post_title,post_name,menu_order FROM wp_posts
WHERE post_type='page' AND post_status='publish';

3、批量替换文章正文内容(谨慎操作!先备份数据库)


UPDATE wp_posts SET post_content = REPLACE(post_content, '旧文字', '新文字')
WHERE post_type='post' AND post_status='publish';

五、新手注意事项

  • 不要直接手动修改主键ID(wp_posts.ID),会破坏全站关联数据、附件、标签关联
  • post_type区分类型:筛选文章务必加 post_type='post',否则会查出附件、修订、页面数据
  • post_status判断状态:trash为回收站文章,如需恢复可修改状态为publish
  • post_name = 伪静态别名:修改会改变URL,影响SEO收录,修改前做好301重定向
  • 大字段 post_content 体积较大,不要随意执行全表更新,避免数据库卡死
  • 操作数据库前务必完整备份MySQL数据库,防止误删数据
  • 标签/分类不在wp_posts里,存在wp_terms/wp_term_relationships表,不要在wp_posts里查找标签

六、总结

1. wp_posts 是WordPress核心主表,承载全部文章、页面、附件内容;核心主键字段为 ID

2. 文章正文、标题、状态、类型、发布时间均在wp_posts;扩展自定义字段在wp_postmeta

3. 二次开发/批量修改文章时,重点使用 post_type、post_status、post_parent、post_name 字段筛选内容

4. 优先使用WP自带函数(WP_Query/get_post_meta)读取数据,减少直接SQL操作主表

本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载

发表评论 共有0条评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
公众号二维码

扫码关注公众号
获取全套技术教程