domingo, 30 Ago 2026

专为网页设计和开发专家提供的独家资源和工具

探索
BiblioWeb

Biblio网站.es

所有关于网页技术

  • 首页
  • 分类
    • 网站开发和插件
    • AI和网站自动化
    • 网络安全和网站安全
    • WordPress 插件
    • 网站错误解决方案
    • 主机和网站性能
  • WordPress
    • Todo sobre WordPress
    • WordPress 插件
    • 网站开发和插件
    • IA y Automatización web
    • WooCommerce
    • Hosting y Rendimiento Web
    • 网络安全和网站安全
    • Solución de errores web
    • Tiendas online y Funnels
  • 关于插件
    • Yoast SEO
    • WooCommerce
    • Rank Math SEO
    • AI引擎
    • WP Rocket
    • WPCode
    • WP Translate Master
    • CartBounty
    • WP SEO Pro
  • 工具
    • 密码生成器
    • 二维码生成器
    • 单词计数器
    • JSON格式化工具
    • Compresor de Vídeo para Web
    • Generador de Firmas de Email
    • 图片转WebP转换器
    • 电子邮件检查器
  • 插件库
  • Español
  • English
  • 🇨🇳 中文(简体) ✓
  • Français
  • Deutsch
  • Italiano
历史
  • WordPress
  • WordPress插件
  • 创建网页
  • WooCommerce
  • WordPress技巧
  • 查看全部
BiblioWebBiblioWeb
Font ResizerAa
  • 新闻历史
搜索
  • 首页
  • 分类
    • 网站开发和插件
    • AI和网站自动化
    • 网络安全和网站安全
    • WordPress 插件
    • WooCommerce
    • 主机和网站性能
    • 网站故障排除和错误
    • 在线商店和销售漏斗
  • WordPress
    • Todo sobre WordPress
    • WordPress 插件
    • 网站开发和插件
    • IA y Automatización web
    • WooCommerce
    • Hosting y Rendimiento Web
    • 网络安全和网站安全
    • Solución de errores web
    • Tiendas online y Funnels
  • 关于插件
    • Rank Math SEO
    • AI引擎
    • WP Rocket
    • WPCode
    • WP Translate Master
    • CartBounty
    • WP SEO Pro
  • 博客
    • Español
    • English
    • 🇨🇳 中文(简体) ✓
    • Français
    • Deutsch
    • Italiano
  • 我的账户
    • 新闻历史
  • 工具
    • 密码生成器
    • 二维码生成器
    • 单词计数器
    • JSON格式化工具
    • 图片转WebP转换器
    • 电子邮件检查器
    • Compresor de Vídeo para Web
    • Generador de Firmas de Email
Have an existing account? Sign In
Follow US
© 2026 BiblioWeb — Todos los derechos reservados.
封面 » 博客 » WordPress 中的自定义文章类型:完整指南
网站开发和插件

WordPress 中的自定义文章类型:完整指南

Adrián Alcalá
Last updated: 08/08/2026 21:10
By Adrián Alcalá
Share
15分钟阅读
WordPress 中的自定义文章类型:完整指南
SHARE

WordPress nació como plataforma de blogs, pero hace mucho que dejó de ser solo eso: hoy gestiona porfolios, inmobiliarias, academias, directorios de empresas y tiendas enteras. La pieza que hace posible esa versatilidad son los custom post types de WordPress: tipos de contenido personalizados que conviven con las entradas y las páginas, pero con su propio nombre, sus propios campos, sus propias URLs y su propio apartado en el escritorio. Si alguna vez has intentado gestionar «proyectos», «recetas» o «cursos» a base de entradas normales y categorías, sabes lo rápido que se convierte en un caos. En esta guía completa aprenderás qué es exactamente un Custom Post Type (CPT), cuándo tiene sentido crearlo y cuándo no, cómo registrarlo con código PHP completo y correcto, cómo añadirle taxonomías propias, cómo mostrarlo en tu tema y qué implicaciones tiene para el SEO. Al terminar podrás estructurar cualquier proyecto con la solidez de un desarrollador profesional.

目录
Qué son los custom post types de WordPressCuándo crear un CPT (y cuándo no)Cómo registrar un custom post type con código自定义分类法:对你的新内容进行分类如何在你的主题中显示自定义文章类型自定义字段:完善条目的数据SEO 和自定义文章类型:你应该检查什么常见问题结论

Qué son los custom post types de WordPress

En WordPress, todo contenido es técnicamente un «post»: las entradas del blog (post), las páginas (page), los adjuntos de la mediateca (attachment), las revisiones o los menús de navegación. Todos se guardan en la misma tabla de la base de datos (wp_posts) y se distinguen por el valor de la columna post_type. Un custom post type no es más que un nuevo valor en esa columna, registrado por ti, con sus propias reglas: qué características admite (editor, imagen destacada, extracto), cómo se llama en el menú, qué URL tienen sus elementos y si aparece o no en los resultados de búsqueda.

Ejemplos clásicos donde los custom post types de WordPress brillan:

  • Porfolio: proyectos con imagen, cliente y tecnología usada.
  • Inmobiliaria: propiedades con precio, superficie y ubicación.
  • Academia: cursos y lecciones con duración y nivel.
  • Restaurante: platos con alérgenos y precio.
  • Eventos: con fecha, lugar y aforo.

De hecho, ya los usas sin saberlo: los productos de WooCommerce son un CPT llamado product, y los formularios de casi cualquier plugin también se guardan como tipos de contenido propios.

Cuándo crear un CPT (y cuándo no)

La pregunta clave: ¿este contenido es conceptualmente distinto de una entrada de blog? Si la respuesta es sí (tiene sentido listarlo por separado, con sus propios archivos y su propia estructura), es candidato a CPT. Si solo quieres agrupar entradas por temática, la herramienta correcta son las categorías y etiquetas de toda la vida.

Situación Solución adecuada
Separar el blog por temáticas 分类
Fichas de productos, cursos, inmuebles… Custom Post Type
Marcar entradas con palabras clave sueltas Etiquetas
Clasificar un CPT (género de un libro, zona de un inmueble) Taxonomía personalizada
Datos concretos de cada elemento (precio, fecha, ISBN) Campos personalizados (post meta)

Otra decisión previa: ¿código o plugin? Plugins como Custom Post Type UI o Pods permiten registrar CPT desde el panel sin escribir PHP, y son perfectamente válidos. A cambio, generan dependencia: si el plugin se desactiva, el contenido no se borra pero desaparece del escritorio. El registro por código, que veremos ahora, es más ligero, portable y controlable, y es como lo hacen todos los temas y plugins profesionales.

你可能也喜欢

Cómo conectar Google Sheets con WordPress
什么是 WordPress 子主题以及如何创建它
Shortcodes de WordPress: qué son y cómo crear los tuyos
Yoast SEO高级技巧,改进你的WordPress

Cómo registrar un custom post type con código

Todo gira en torno a una función: register_post_type(), que debe ejecutarse en el hook init. Este es un registro completo y comentado para un CPT de porfolio, listo para usar:

<?php
function biblioweb_registrar_cpt_proyecto() {
    $labels = array(
        'name'               => 'Proyectos',
        'singular_name'      => 'Proyecto',
        'menu_name'          => 'Porfolio',
        'add_new'            => 'Añadir nuevo',
        'add_new_item'       => 'Añadir nuevo proyecto',
        'edit_item'          => 'Editar proyecto',
        'new_item'           => 'Nuevo proyecto',
        'view_item'          => 'Ver proyecto',
        'search_items'       => 'Buscar proyectos',
        'not_found'          => 'No se han encontrado proyectos',
        'not_found_in_trash' => 'No hay proyectos en la papelera',
        'all_items'          => 'Todos los proyectos',
    );

    $args = array(
        'labels'       => $labels,
        'public'       => true,
        'has_archive'  => true,
        'menu_position'=> 20,
        'menu_icon'    => 'dashicons-portfolio',
        'rewrite'      => array( 'slug' => 'proyectos', 'with_front' => false ),
        'supports'     => array( 'title', 'editor', 'thumbnail', 'excerpt', 'revisions', 'custom-fields' ),
        'show_in_rest' => true, // Necesario para el editor de bloques y la REST API.
        'taxonomies'   => array(),
    );

    register_post_type( 'proyecto', $args );
}
add_action( 'init', 'biblioweb_registrar_cpt_proyecto' );

Repasemos los argumentos que más dudas generan:

  • public: en true, el CPT tiene URLs propias, aparece en el escritorio y es visible. Para contenido interno (por ejemplo, testimonios que solo se muestran incrustados) se puede afinar con publicly_queryable y exclude_from_search.
  • has_archive: crea la página de archivo en tudominio.com/proyectos/ con el listado de todos los elementos.
  • rewrite: define el slug de las URLs. with_front => false 避免继承永久链接结构中的前缀(例如 /blog/)。
  • supports:编辑器中显示哪些框。如果你的 CPT 不需要文本编辑器,请将其移除,表单会更简洁。
  • show_in_rest:在...中必不可少 true 如果你想将 Gutenberg 与此 CPT 一起使用,或从 REST API 中消费它。
  • menu_icon:任何 Dashicons 库中的图标,或自定义 SVG 的路径。

一个关键提示:注册或修改 CPT 后,请访问 设置 → 固定链接 并点击“保存更改”。这个操作会重新生成重写规则;如果你不这样做,新的 URL 将返回 404 错误,你将浪费大量时间寻找不在你代码中的错误。

放在哪里?在自己的插件中或在像...这样的代码片段管理器中 WPCode,我们在这里深入分析了它避免使用主题的 functions.php:CPT 是功能,而不是设计,它必须在主题更改后仍然存在。

自定义分类法:对你的新内容进行分类

标准分类和标签属于文章。要对 CPT 进行分类,正确的方法是使用...注册自己的分类法 register_taxonomy()接着作品集,我们创建一个分类法“项目类型”:

<?php
function biblioweb_registrar_taxonomia_tipo() {
    $labels = array(
        'name'          => 'Tipos de proyecto',
        'singular_name' => 'Tipo de proyecto',
        'search_items'  => 'Buscar tipos',
        'all_items'     => 'Todos los tipos',
        'edit_item'     => 'Editar tipo',
        'add_new_item'  => 'Añadir nuevo tipo',
    );

    register_taxonomy(
        'tipo_proyecto',
        array( 'proyecto' ),
        array(
            'labels'       => $labels,
            'hierarchical' => true, // true = como categorías; false = como etiquetas.
            'rewrite'      => array( 'slug' => 'tipo-proyecto' ),
            'show_in_rest' => true,
        )
    );
}
add_action( 'init', 'biblioweb_registrar_taxonomia_tipo' );

参数 hierarchical 决定行为:在 true 像分类一样工作(具有父子层次结构和复选框);在 false,例如标签(自由文本)。每个术语都会自动生成其自己的归档页面: tudominio.com/tipo-proyecto/diseno-web/.

如何在你的主题中显示自定义文章类型

WordPress 通过模板层次结构解决显示问题。对于我们的 CPT proyecto 将按此顺序查找:

  1. single-proyecto.php 用于单个条目(如果不存在,请使用 single.php)。
  2. archive-proyecto.php 用于列表(如果不存在,请使用 archive.php 然后 index.php)。
  3. taxonomy-tipo_proyecto.php 用于分类归档。

如果你的主题是块主题或你使用页面构建器,通常可以从其自己的界面为 CPT 分配模板。对于任何模板或短代码中的自定义列表,查询使用... WP_Query:

<?php
$proyectos = new WP_Query( array(
    'post_type'      => 'proyecto',
    'posts_per_page' => 6,
    'tax_query'      => array(
        array(
            'taxonomy' => 'tipo_proyecto',
            'field'    => 'slug',
            'terms'    => 'diseno-web',
        ),
    ),
) );

if ( $proyectos->have_posts() ) :
    while ( $proyectos->have_posts() ) : $proyectos->the_post();
        the_title( '<h3>', '</h3>' );
        the_post_thumbnail( 'medium' );
    endwhile;
    wp_reset_postdata();
endif;

永远不要忘记 wp_reset_postdata() 在自定义循环之后:恢复主查询并避免页面其余部分出现奇怪的副作用。所有可用参数的完整参考资料在...中 developer.wordpress.org 上的文章类型官方文档.

自定义字段:完善条目的数据

CPT 定义了“容器”,但具体数据(价格、客户、交付日期)存在于自定义字段(文章元数据)中。你可以通过三种方式管理它们:使用原生的自定义字段框(简陋但实用),通过代码使用... register_post_meta() y get_post_meta(),或者使用像 Advanced Custom Fields (ACF) 或 Meta Box 这样的专业插件,它们生成带有验证和高级字段类型的便捷编辑界面。对于严肃的项目,通过代码创建 CPT + ACF 用于字段的组合可能是行业标准。

<?php
// Registrar un campo y exponerlo en la REST API:
register_post_meta( 'proyecto', 'cliente', array(
    'type'         => 'string',
    'single'       => true,
    'show_in_rest' => true,
    'sanitize_callback' => 'sanitize_text_field',
) );

// Leerlo en la plantilla:
$cliente = get_post_meta( get_the_ID(), 'cliente', true );

SEO 和自定义文章类型:你应该检查什么

一个精心设计的 CPT 对 SEO 来说是福音:它生成干净的归档、语义化的 URL 和清晰的结构。但有四点值得检查:

  • 站点地图: 检查你的 SEO 插件是否在 XML 站点地图中包含了新的内容类型。Yoast 和...都 Rank Math,我们在这里分析了它的免费版本,它们检测公共 CPT 并允许按类型激活或排除它们。
  • 选择性索引: 如果 CPT 是辅助内容(推荐、可重用块),将其标记为不可索引,或直接使用...注册 public => false.
  • 有意图的 Slug: /proyectos/ 比...更能说明问题 /cpt_portfolio/重写 slug 是一个 SEO 决策,之后更改它意味着需要重定向。
  • 归档内容: 自动生成的归档页面通常只是一个简单的列表;考虑一个带有自己介绍性文本的页面,这对于定位内容类型的主要关键词可能会有所不同。

常见问题

如果我停用注册 CPT 的插件,内容会怎样?

什么都不会被删除:元素仍然在数据库中。它们只是不再显示在仪表盘中,并且其 URL 返回 404 错误,因为 WordPress 不再识别该内容类型。重新激活注册(插件或代码片段)后,一切都会完好无损地重新出现。因此,将注册保持在独立于主题的东西中很重要。

自定义文章类型还是分类?我仍然不清楚该用哪个

当你想组织共享格式的博客文章时,使用分类。当内容具有其自身性质时,使用 CPT:不同的字段、不同的模板,并作为网站的独立部分有意义。一个实用的提示:如果你发现自己想隐藏主博客中的那些“文章”,那么它们几乎肯定应该是一个自定义文章类型。

我可以创建多少个自定义文章类型?

没有相关的技术限制:所有都共享表格 wp_posts 注册每种类型的成本极低。合理的限制是组织上的:如果你超过六到八种类型,请检查其中一些是否不应该实际上是分类法或同一类型的字段。保留带前缀的名称(例如 bw_proyecto)如果你分发你的代码,以

为什么我的自定义文章类型会显示 404 错误?

在 95% 的情况下,是由于重写规则:WordPress 尚未“学习”新的 URL。前往 设置 → 固定链接 并保存而不做任何更改。如果问题仍然存在,请检查是否 public 是 true,确保重写别名不与现有页面冲突,并且注册在钩子中执行 init 在每次加载时,而不仅仅是在激活时。

结论

WordPress 的自定义文章类型是将博客转变为真正的定制 CMS 的工具:作品集、目录、名录或学院,每种内容都有其结构、URL 和在后台的位置。专业方法分三步:使用以下方式注册类型 register_post_type() 在钩子中 init (并保存永久链接),通过自定义分类法对其进行分类 register_taxonomy(),并用自定义字段填写条目。从那时起,模板层级和 WP_Query 它们让你完全控制所有内容的显示方式。从你项目中的一个真实内容类型开始,通过代码在自己的代码片段或插件中注册它,然后在后台查看管理真正的“项目”与管理伪装的文章有何不同。这种结构上的清晰度,你、你的客户和 Google 都会感激。

分享此文章
电子邮件 复制链接 打印
ByAdrián Alcalá
Follow:
Adrián Alcalá es desarrollador WordPress y consultor SEO, autor del plugin WP Translate y creador de BiblioWeb. Desde aquí comparte guías, tutoriales y herramientas gratuitas para quienes crean, optimizan y posicionan páginas web. Lleva años ayudando a negocios de toda España a sacar el máximo partido a WordPress, y todo lo que publica está probado en proyectos reales.
上一篇文章 WordPress 短代码:它们是什么以及如何创建它们 Shortcodes de WordPress: qué son y cómo crear los tuyos
下一篇文章 WordPress REST API:它是什么以及如何使用它 WordPress REST API:它是什么以及如何使用它
como instalar wordpress - ¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (
¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (¡Te lo ponemos fácil!).
WordPress
como instalar wordpress - ¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfe
¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfecto (¡y que tu web vuele!)
WordPress
学习WordPress的最佳资源
Los mejores recursos para aprender WordPress en español
WordPress
como instalar wordpress - ¡Adiós al miedo! Cómo instalar WordPress en tu propio servidor local (¡Perfecto para experimentar s
¡Adiós al miedo! Cómo instalar WordPress en tu propio servidor local (¡Perfecto para experimentar sin riesgos y crear tu #CrearPaginaWeb!)
WordPress
- 广告 -

您可能也喜欢

云端WordPress开发环境
网站开发和插件

云端WordPress开发环境

24/08/2026
无需编程的WordPress:无代码
网站开发和插件

WordPress sin programar: qué puedes construir con no-code

24/08/2026
Instalar Yoast SEO - Adiós al Caos SEO Instala Yoast SEO en WordPress y Activa tu Superpoder para Google (Guía Rápida y Div
网站开发和插件

如何在WordPress中安装和配置Yoast SEO

08/08/2026
Plugins WordPress - No empieces sin ellos Los 5 Plugins WordPress Esenciales que todo novato necesita para una web de 10
网站开发和插件

适用于初学者的5个必备WordPress插件

08/08/2026
显示更多
  • 更多新闻:
  • WordPress
  • 安装
  • 指南
  • 创建网页
  • 如何安装WordPress
  • 创建
  • 安装
  • 未来
  • 发现
  • Yoast
  • 插件
  • 技巧
  • WordPress安装
  • 再见
  • 支付网关
  • 页面
  • 创建网站
  • truco
  • Error
  • Construcción
BiblioWeb

Biblio网站.es

网页技术动态

您可以信赖的信息: guías y soluciones prácticas de tecnología web — WordPress, plugins, ciberseguridad, hosting, rendimiento y solución de errores.

RSS

Enlaces de interés

  • Sobre nosotros
  • 联系我们
  • Herramientas gratuitas
  • 插件库

立即订阅,以获取最新新闻的实时更新!

法律

  • 法律声明
  • 条款与条件
  • Cookie政策
  • 隐私政策

最新消息

como instalar wordpress - ¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (

¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (¡Te lo ponemos fácil!).

25/08/2026
继续阅读
como instalar wordpress - ¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfe

¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfecto (¡y que tu web vuele!)

24/08/2026
继续阅读

© 2026 BiblioWeb — Todos los derechos reservados.

Gestionar consentimiento
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios (no) personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o los ID's únicos en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Always active
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
偏好设置
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
营销
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Ver preferencias
  • {title}
  • {title}
  • {title}
Welcome to Foxiz
Username or Email Address
Password

Lost your password?