Dec 18, 2025
Gustavo B.
13min de lectura
WordPress tiene varios tipos de entradas para ayudarte a organizar el contenido de tu sitio web. Con ellos puedes crear fácilmente un blog cronológico o mostrar páginas estáticas.
Sin embargo, los tipos de entrada incorporados pueden no ser suficientes para sitios web grandes con contenido diverso. En ese caso, debes crear tu propio tipo de entrada.
Este artículo te explicará cómo crear un tipo de entrada personalizado o custom post type en WordPress. También aprenderás a personalizarlo para ampliar su funcionalidad.
Descarga la hoja de trucos de WordPress definitiva
El tipo de entrada personalizado de WordPress es una categoría de contenido adicional que los usuarios crean para organizar el contenido de su sitio web. Es útil si tu sitio web de WordPress tiene contenido variado que no pertenece a los tipos de entrada predeterminados de WordPress.
Aunque puedes asignar categorías para organizar todo tipo de contenido, tus publicaciones aparecerán en una lista cuando estén agrupadas en el mismo tipo de publicación. Esto dificulta el seguimiento de tus publicaciones.
Por defecto, WordPress tiene siete tipos de entradas:
Los tipos de entrada personalizados de WordPress te permiten elegir una sección concreta para tu contenido. Puedes agrupar rápidamente el contenido sin elegir categorías y realizar fácilmente un seguimiento de las entradas en diferentes secciones.
Los custom post types de WordPress también ofrecen varias opciones de personalización. Esto te permite ampliar su funcionalidad más allá de las entradas predeterminadas.
Por ejemplo, puedes mover el menú de tipo de entrada personalizada, cambiar el aspecto de la pantalla de edición y activar funciones como las imágenes destacadas o los excerpts.
Antes de crear tipos de entrada personalizados, debes entender los términos array y element. Estas son partes esenciales del código de tu tipo de entrada personalizado.
Un array es una estructura de datos que almacena pares de clave y valor conocidos como elements. En este caso, reserva las propiedades del tipo de entrada personalizado.
Para crear un tipo de entrada personalizado de WordPress, hay tres matrices que contienen diferentes elementos: $args, $labels y $supports. La matriz asociativa $args es la abreviatura de argumentos, que incluye varios pares clave-valor, entre ellos:
Además de los elementos, $args contiene las matrices $labels y $supports que contienen diferentes pares clave-valor.
Te recomendamos crear una variable $labels separada para guardar todos los pares clave-valor para que el código sea más limpio y fácil de entender.
La matriz $label define el texto del tipo de entrada personalizado y contiene las siguientes claves:
Mientras tanto, la matriz $supports contiene elementos que definen las características del tipo de entrada personalizado. El valor TRUE habilita las siguientes características:
Hay tres formas diferentes de añadir custom post type en WordPress, y cada una tiene sus pros y sus contras:
En este artículo, utilizaremos el tercer método. Antes de continuar, te recomendamos que leas nuestro tutorial sobre cómo crear un plugin de WordPress para saber más sobre el código personalizado.
Para crear tipos de entrada personalizados, utiliza la función register_post_type(). Esta función recibe dos parámetros: el nombre del custom post type y la matriz $args.
El código del plugin también debe contener funciones personalizadas que llamen a register_post_type(). Recuerda conectar estas funciones al hook de acción init para permitir que el tipo de entrada personalizado se registre correctamente.
Para evitar conflictos con otros plugins, tu función personalizada debe tener un prefijo como ht_.
Aquí tienes un ejemplo de código para un plugin de tipo de entrada Entradas personalizadas:
<?php
/*
Plugin Name: Custom Post Types
Description: Add post types for custom articles
Author: Hostinger Dev
*/
// Hook ht_custom_post_custom_article() to the init action hook
add_action( 'init', 'ht_custom_post_custom_article' );
// The custom function to register a custom article post type
function ht_custom_post_custom_article() {
// Set the labels. This variable is used in the $args array
$labels = array(
'name' => __( 'Entradas personalizadas' ),
'singular_name' => __( 'Entrada personalizada' ),
'add_new' => __( 'Entrada personalizada' ),
'add_new_item' => __( 'Añadir entrada personalizada' ),
'edit_item' => __( 'Editar entrada personalizada' ),
'new_item' => __( 'Nueva entrada personalizada' ),
'all_items' => __( 'Todas las entradas personalizada' ),
'view_item' => __( 'Ver entrada personalizada ),
'search_items' => __( 'Buscar entrada personalizada' ),
'featured_image' => 'Poster',
'set_featured_image' => 'Add Poster'
);
// The arguments for our post type, to be entered as parameter 2 of register_post_type()
$args = array(
'labels' => $labels,
'description' => 'Holds our custom article post specific data',
'public' => true,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'custom-fields' ),
'has_archive' => true,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'query_var' => true,
);
// Call the actual WordPress function
// Parameter 1 is a name for the post type
// Parameter 2 is the $args array
register_post_type('article', $args);
}Ten en cuenta que el código puede variar en función del custom post type. Una vez que hayas terminado de escribir el código, sigue estos pasos para convertirlo en un plugin:




Puedes crear un número ilimitado de tipos de entradas personalizadas. Sin embargo, demasiados tipos de entrada personalizados pueden ralentizar el descubrimiento de la API REST y complicar la barra de administración.
Puede que necesites personalizar tu nuevo tipo de entrada para diferenciarlo de otros contenidos. Antes de personalizarlo, debes crear archivos de plantilla en el directorio de tu tema activo.
Necesitas dos archivos de plantilla para la personalización: single-{post_type}.php y archive-{post_type}.php. Son plantillas para una entrada individual y para la página de archivo del tipo personalizado, respectivamente.
WordPress utilizará los archivos predeterminados single.php y archive.php si no creas estas plantillas. Puesto que todas las entradas y archivos hacen referencia a esos dos archivos, personalizarlos cambiará todo el sitio.
La mejor forma de crear archivos de plantilla es duplicar los archivos single.php y archive.php existentes de tu tema. Este método mantiene la estructura del tema de tu sitio y establece la etiqueta de plantilla necesaria, simplificando el proceso de personalización.
Aquí tienes los pasos para hacerlo:


¡Importante! Los temas con la misma estructura para entradas y páginas no tendrán archivos single.php y archive.php. Estos temas sólo utilizan el archivo singular.php.
Para personalizar los archivos de plantilla, descárgalos y edítalos con un editor de texto. Si utilizas el servicio de alojamiento web de Hostinger, edítalos directamente en el Administrador de archivos.
Una vez guardados los archivos, los cambios sólo se aplicarán a la página de archivo y a la entrada individual del tipo personalizado.
El cuadro meta o meta box es una ventana de la pantalla de edición que permite a los usuarios añadir metadatos de las entradas. Es útil para añadir o modificar la información de las entradas, como los detalles del autor, los controles de publicación y el slug personalizado.
Aunque WordPress incluye meta boxes por defecto, puede que necesites uno específico para tu tipo de entrada personalizada. Por ejemplo, el tipo de entrada personalizada Películas puede requerir el metabox Género.
Utilizar un cuadro meta te ayuda a añadir metadatos a tu contenido más rápidamente. En lugar de introducir el valor individualmente, puedes hacer clic en los datos del cuadro meta para introducirlos.
Para crear un cuadro meta personalizado, edita el archivo functions.php de tu tema o el código del plugin específico del sitio. En este tutorial, añadiremos el código personalizado del nuevo cuadro meta al archivo del plugin.
Dado que el código varía en función del contenido y la ubicación de la meta box, consulta el codex de WordPress para obtener más información. En este tutorial, explicaremos cómo crear una meta box de Autor personalizada:
// Add meta box
add_action("add_meta_boxes", "add_author_meta_box");
function add_author_meta_box()
{
add_meta_box(
"author_meta_box", // Meta box ID
"Author Details", // Meta box title
"author_meta_box_callback", // Meta box callback function
"article", // The custom post type parameter 1
"side", // Meta box location in the edit screen
"high" // Meta box priority
);
}
function author_meta_box_callback()
{
wp_nonce_field(‘author-nonce’, ‘meta-box-nonce’);
global $post;
placeholder
}// Add meta box content
?>
<th><label for="author_name_field">Author Name</label><th>
<td><input
type="text"
id="author_name"
class="regular-text"
name=“Author_Name”
value=“”
/>
<td>
<th><label for="author_id_field">Author ID</label><th>
<td><input
type="text"
id="author_id"
class="regular-text"
name=“Author_ID”
Value=””
/>
<td>
<?php // Save meta box data
add_action ( 'save_post', 'author_save_postdata');
function author_save_postdata( $post_id ) {
// If this is an autosave, our form has not been submitted
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return $post_id;
// Retrieve post id
If (‘article’ !== get_post_type() ) {
return $post_id
}
// Check the user's permissions
if ( 'page' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_page', $post_id ) )
return $post_id;
} else {
if ( ! current_user_can( 'edit_post', $post_id ) )
return $post_id;
}
/* OK, it is safe to save the data now. */
// Sanitize user input.
$mydata = sanitize_text_field( $_POST['Author_Name'] );
$mydata = sanitize_text_field( $_POST['Author_ID'] );
// Update the meta field in the database.
update_post_meta( $post_id, 'Author_Name', $_POST['Author_Name'] );
update_post_meta( $post_id, 'Author_ID', $_POST['Author_ID'] );
}El nuevo cuadro meta debería aparecer si abres la pantalla de edición de tu tipo de entrada personalizado.
Para asegurarte de que el meta box funciona correctamente, introduce textos en el campo designado y actualiza la entrada. El valor introducido debería aparecer en los campos personalizados.
Si necesitas familiarizarte más con PHP, utiliza el plugin Meta Box para generar automáticamente el código. Como sólo genera el código del contenido de las meta boxes, debes escribir tú mismo la función add_metabox ().
Después de descargar e instalar el plugin, sigue estos pasos:
Utiliza un plugin para añadir código PHP en las entradas o páginas de WordPress directamente a través del panel de administración. No tienes que crear archivos de plantilla ni utilizar un editor de texto independiente, lo que mejora el flujo de trabajo y minimiza los errores.
Los tipos de entrada personalizados de WordPress no se muestran en la portada por defecto. Para habilitarlos, escribe una nueva función que llame al método set del objeto WP_Query de WordPress.
Aquí un ejemplo:
// Pin our custom function to the pre_get_posts action hook
add_action( 'pre_get_posts', 'add_article_to_frontpage' );
// Alter the main query
function add_article_to_frontpage( $query ) {
if ( is_home() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'article' ) );
}
return $query;
}En esta función, $query->set() toma dos parámetros: la propiedad modificada y una matriz que define su valor. En nuestro caso, la propiedad modificada es post_type, mientras que los valores de la matriz son post y article.
El array incluye “post” para mostrar el tipo de post por defecto en la portada de tu web. Si lo eliminas, sólo se mostrarán las entradas personalizadas.
El segundo parámetro es “article”, que muestra las entradas normales y todas las entradas de artículos personalizados en la portada.
Para activar el código, pégalo en el archivo functions.php de tu tema o en el del plugin personalizado. Te mostraremos cómo pegarlo en el plugin:

Los tipos de entrada predeterminados y personalizados deberían estar disponibles en la portada de tu sitio web en WordPress.
Después de crear un nuevo custom post type, puede que necesites añadir un campo personalizado para dar más detalles a tu contenido.
Para esta tarea, puedes utilizar el campo personalizado integrado de WordPress o un plugin. Como cada método tiene sus pros y sus contras, te explicaremos ambos para ayudarte a decidir cuál te conviene más.
WordPress nos proporciona una herramienta integrada para añadir un campo personalizado. Como está oculto por defecto, actívalo yendo al Editor de entradas → Opción de pantalla.
Una vez activado, verás la sección de campos personalizados en la parte inferior de la pantalla de edición de WordPress. Introduce el nombre y el valor, y haz clic en el botón Añadir campo personalizado.
Sin embargo, los campos personalizados no se mostrarán en el front-end de tu página por defecto. Para activarlos, inserta la función the_meta() o echo get_post_meta() en el archivo de tu tema activo.
Utiliza the_meta() para mostrar todos los campos personalizados de una entrada. Para mostrar un campo personalizado concreto, utiliza echo get_post_meta( $post->ID, ‘clave’, TRUE). Sustituye el valor de la clave por el nombre de tu campo personalizado.
Como hay dos tipos de post, puedes editar single.php o single-article.php. Depende de dónde quieras mostrar el campo personalizado.
Supongamos que quieres añadir un campo personalizado Author para las entradas de tipo artículo personalizado. En ese caso, introduce uno de los códigos de función en el archivo single-article.php. Estos son los pasos:
get_template_part( 'template-parts/post/content', get_post_format() );
Tu sitio web de WordPress mostrará ahora el campo personalizado Author debajo de la entrada.
Lamentablemente, no puedes utilizar la herramienta integrada de WordPress para añadir un campo personalizado para un tipo de entrada específico. Esta herramienta predeterminada añade automáticamente un nuevo campo personalizado para todos los tipos de entrada.
En su lugar, utiliza el plugin Advanced Custom Fields. Este limita ciertos campos personalizados, haciéndolos seleccionables sólo en un tipo de entrada elegido.
¡Importante! Una vez activado este plugin, ya no verás el campo personalizado predeterminado de WordPress en el editor de entradas.
Después de activar el plugin, sigue estos pasos para crear y habilitar un campo personalizado para un tipo de entrada específico:
Puesto que creas este campo a través de un plugin, debes utilizar sus funciones para mostrar el campo personalizado. Los pasos para insertar la función son similares a los de añadir un campo personalizado por defecto, pero introduce la función the_post( ‘key’ ); en su lugar.
Los custom post types en WordPress permiten a los usuarios organizar el contenido de su sitio web en diferentes categorías. Sin embargo, los tipos de entrada predeterminados pueden no ser suficientes para un sitio web grande con contenido diverso.
En ese caso, puedes crear un tipo de entrada personalizado en WordPress creando plugins específicos para el sitio. Aquí tienes un resumen de los pasos:
Tu tipo de entrada personalizado también tiene muchas opciones de personalización. Por ejemplo, puedes personalizar la pantalla de edición, añadir meta boxes, editar la visibilidad del tipo de entrada y activar las funciones integradas de WordPress.
Esta amplia personalización te permite crear un tipo de entrada que se adapte específicamente a tu contenido, ayudándote a organizar tu sitio web de WordPress de forma más rápida y eficaz.
Cómo añadir CSS personalizado en WordPress
Cómo crear widgets personalizados en WordPress
Cómo usar XAMPP para configurar un sitio local de WordPress
Esta sección responderá las preguntas comunes sobre el tipo de entrada personalizada de WordPress. No obstante, si tienes más preguntas, déjalas en la acción de comentarios a continuación.
En WordPress, una entrada puede referirse a una única pieza de contenido. También puede referirse a un tipo de entrada similar a páginas, archivos adjuntos, revisiones y otros.
Por su parte, un custom post type es una categoría de contenido que crean los propios usuarios.
Puedes cambiar su ubicación en el área de administración, la capacidad de búsqueda y funciones adicionales como extractos, formatos de post y trackbacks.
Además, WordPress también te permite modificar la pantalla de edición de entradas y añadir campos personalizados para incluir más información en tu contenido. Por ejemplo, puedes mostrar el autor de la entrada o el tiempo de lectura.
Sí. Para ver el ID de una entrada de WordPress, pasa el ratón por encima del título del contenido y verás la UR en la esquina inferior izquierda. Es el número que hay entre los parámetros “post=” y “&”.
También puedes obtener un ID único de tipo de entrada personalizada por su título utilizando el comando get_page_by_title ().
Alternativamente, recupéralo utilizando slug el comando get_page_by_path ().
Todo el contenido de los tutoriales en este sitio web está sujeto a los rigurosos estándares y valores editoriales de Hostinger.