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条评论