WordPress 自定义内容类型(CPT)和分类法:深度定制 CMS
WordPress 默认只有文章和页面两种内容类型。通过注册自定义内容类型(CPT)和分类法,你可以将 WordPress 打造成任何类型的 CMS,如房产网站、招聘平台、电影数据库等。
注册自定义内容类型
在 functions.php 中使用 register_post_type() 注册 CPT:register_post_type('portfolio', array('labels'=>array('name'=>'作品集','singular_name'=>'作品'),'public'=>true,'has_archive'=>true,'supports'=>array('title','editor','thumbnail')));。注册后,后台会出现新的"作品集"菜单。
常用 CPT 参数
labels——自定义后台菜单名称;public——是否公开可见;has_archive——是否有归档页;supports——启用哪些功能(标题、编辑器、特色图、摘要、自定义字段等);rewrite——自定义 URL 结构;menu_icon——后台菜单图标。
注册自定义分类法
使用 register_taxonomy() 创建自定义分类法:register_taxonomy('portfolio_category', 'portfolio', array('hierarchical'=>true,'show_admin_column'=>true));。第二个参数指定归属的内容类型。hierarchical=true 为类似分类的结构,false 为类似标签的结构。
实际应用场景
房产网站——CPT"房源"(支持价格、面积字段)+ 分类"城市"+ 标签"地铁房"。招聘平台——CPT"职位"+ 分类"职能类别"+ 标签"全职/兼职/实习"。电影数据库——CPT"电影"+ 分类"类型"+ 标签"年份/导演"。
高级:CPT UI 插件
不想写代码?使用 Custom Post Type UI 插件通过界面创建 CPT 和分类法;使用 Pods 或 Meta Box 插件添加自定义字段;使用 ACF(高级自定义字段)为 CPT 添加复杂字段。
总结
自定义内容类型是 WordPress 成为万能 CMS 的关键。掌握 CPT 和分类法,你就能将 WordPress 用于任何类型的网站项目。
