{"id":6488,"date":"2018-05-28T03:48:08","date_gmt":"2018-05-28T03:48:08","guid":{"rendered":"https:\/\/blog.hostinger.io\/es-tutoriales\/?p=6488"},"modified":"2025-12-18T22:48:02","modified_gmt":"2025-12-18T21:48:02","slug":"custom-post-types-wordpress","status":"publish","type":"post","link":"\/es\/tutoriales\/custom-post-types-wordpress","title":{"rendered":"C\u00f3mo crear un Custom Post Type en WordPress"},"content":{"rendered":"<p>WordPress tiene varios tipos de entradas para ayudarte a organizar el contenido de tu sitio web. Con ellos puedes crear f&aacute;cilmente un blog cronol&oacute;gico o mostrar p&aacute;ginas est&aacute;ticas.<\/p><p>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.<\/p><p>Este art&iacute;culo te explicar&aacute; c&oacute;mo crear un tipo de entrada personalizado o custom post type en WordPress. Tambi&eacute;n aprender&aacute;s a personalizarlo para ampliar su funcionalidad.&nbsp;<\/p><p class=\"has-text-align-center\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Mega-WordPress-Cheat-ES.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Descarga la hoja de trucos de WordPress definitiva<\/a><\/p><p>\n\n\n\n\n\n\n\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">&iquest;Qu&eacute; son los Custom Post Types de WordPress?<\/h2>\n                    <p>El tipo de entrada personalizado de WordPress es una categor&iacute;a de contenido adicional que los usuarios crean para organizar el contenido de su sitio web. Es &uacute;til si tu sitio web de WordPress tiene contenido variado que no pertenece a los tipos de entrada predeterminados de WordPress.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-tipos-de-entradas-de-wordpress\">Tipos de entradas de WordPress<\/h2><p>Aunque puedes asignar categor&iacute;as para organizar todo tipo de contenido, tus publicaciones aparecer&aacute;n en una lista cuando est&eacute;n agrupadas en el mismo tipo de publicaci&oacute;n. Esto dificulta el seguimiento de tus publicaciones.<\/p><p>Por defecto, WordPress tiene siete tipos de entradas:<\/p><ul class=\"wp-block-list\">\n<li><strong>Entradas:<\/strong> categor&iacute;a para entradas regulares. El contenido t&iacute;pico de este tipo incluye una entrada de blog.<\/li>\n\n\n\n<li><strong>P&aacute;ginas:<\/strong> muestra contenido est&aacute;tico que no est&aacute; ordenado por fecha.<\/li>\n\n\n\n<li><strong>Archivos adjuntos<\/strong>: todos los medios del sitio web, incluidas im&aacute;genes, v&iacute;deos o archivos PDF.<\/li>\n\n\n\n<li><strong>Revisiones: <\/strong>&nbsp;versiones guardadas de todos los tipos de entrada.<\/li>\n\n\n\n<li><strong>Men&uacute;s de navegaci&oacute;n<\/strong>: lista de enlaces que los visitantes de tu sitio web pueden utilizar para encontrar informaci&oacute;n espec&iacute;fica.<\/li>\n\n\n\n<li><strong>CSS personalizado<\/strong>: tipo que puedes modificar para personalizar tu tema de WordPress.<\/li>\n\n\n\n<li><strong>Conjuntos de cambios:<\/strong> el seguimiento de los cambios realizados en el personalizador.<\/li>\n<\/ul><p>Los tipos de entrada personalizados de WordPress te permiten elegir una secci&oacute;n concreta para tu contenido. Puedes agrupar r&aacute;pidamente el contenido sin elegir categor&iacute;as y realizar f&aacute;cilmente un seguimiento de las entradas en diferentes secciones.<\/p><p>Los custom post types de WordPress tambi&eacute;n ofrecen varias opciones de personalizaci&oacute;n. Esto te permite ampliar su funcionalidad m&aacute;s all&aacute; de las entradas predeterminadas.<\/p><p>Por ejemplo, puedes mover el men&uacute; de tipo de entrada personalizada, cambiar el aspecto de la pantalla de edici&oacute;n y activar funciones como las im&aacute;genes destacadas o los excerpts.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-elementos-de-un-custom-post-type-en-wordpress\">Elementos de un custom post type en WordPress<\/h2><p>Antes de crear tipos de entrada personalizados, debes entender los t&eacute;rminos <strong>array <\/strong>y <strong>element<\/strong>. Estas son partes esenciales del c&oacute;digo de tu tipo de entrada personalizado.<\/p><p>Un <strong>array <\/strong>es una estructura de datos que almacena pares de clave y valor conocidos como <strong>elements<\/strong>. En este caso, reserva las propiedades del tipo de entrada personalizado.<\/p><p>Para crear un tipo de entrada personalizado de WordPress, hay tres matrices que contienen diferentes elementos: <strong>$args<\/strong>, <strong>$labels <\/strong>y <strong>$supports<\/strong>. La matriz asociativa <strong>$args <\/strong>es la abreviatura de argumentos, que incluye varios pares clave-valor, entre ellos:<\/p><ul class=\"wp-block-list\">\n<li><strong>description:<\/strong> un resumen breve y descriptivo del tipo de entrada. S&oacute;lo puedes mostrarlo en la plantilla del tipo de entrada.<\/li>\n\n\n\n<li><strong>public:<\/strong> cambia la visibilidad de los tipos de entrada personalizados de WordPress para autores y visitantes. Elige <strong>TRUE <\/strong>para que aparezca en el Panel de WordPress y en la consulta personalizada de los visitantes.<\/li>\n\n\n\n<li><strong>menu_position:<\/strong> define la ubicaci&oacute;n del nuevo tipo de entrada en el men&uacute; de administraci&oacute;n de WordPress. Consulta la p&aacute;gina del <a href=\"https:\/\/codex.wordpress.org\/Main_Page\" target=\"_blank\" rel=\"noreferrer noopener\">codex<\/a> de WordPress para conocer su valor y posiciones.<\/li>\n\n\n\n<li><strong>has_archive:<\/strong> determina los archivos del tipo de entrada personalizado, la estructura de URL y el nombre del slug en funci&oacute;n del par&aacute;metro 1 de <strong>register_post_types()<\/strong>.<\/li>\n\n\n\n<li><strong>show_in_admin_bar:<\/strong> altera la visibilidad del tipo de entrada en la barra superior de administraci&oacute;n, en la secci&oacute;n <strong>+New<\/strong>.<\/li>\n\n\n\n<li><strong>show_in_nav_menus:<\/strong> cambia si puedes a&ntilde;adir entradas de este tipo a los men&uacute;s de navegaci&oacute;n creados a trav&eacute;s de <strong>Apariencia <\/strong>&rarr; <strong>Men&uacute;s<\/strong>.<\/li>\n\n\n\n<li><strong>query_var:<\/strong> establece si los visitantes del sitio pueden introducir el tipo y el t&iacute;tulo de una entrada como consulta en la URL para verla.<\/li>\n<\/ul><p>Adem&aacute;s de los elementos, <strong>$args <\/strong>contiene las matrices <strong>$labels <\/strong>y <strong>$supports <\/strong>que contienen diferentes pares clave-valor.&nbsp;<\/p><p>Te recomendamos crear una variable <strong>$labels <\/strong>separada para guardar todos los pares clave-valor para que el c&oacute;digo sea m&aacute;s limpio y f&aacute;cil de entender.&nbsp;<\/p><p>La matriz <strong>$label <\/strong>define el texto del tipo de entrada personalizado y contiene las siguientes claves:<\/p><ul class=\"wp-block-list\">\n<li><strong>name:<\/strong> el nombre plural general del tipo de entrada<\/li>\n\n\n\n<li><strong>singular_name:<\/strong> el nombre de una entrada &uacute;nica del tipo personalizado<\/li>\n\n\n\n<li><strong>add_new:<\/strong> sustituye el texto &laquo;A&ntilde;adir nuevo&rdquo;<\/li>\n\n\n\n<li><strong>add_new_item:<\/strong> cambia el texto de &ldquo;A&ntilde;adir nueva entrada&rdquo;<\/li>\n\n\n\n<li><strong>edit_item:<\/strong> ajusta el texto de &ldquo;Editar publicaci&oacute;n&rdquo;<\/li>\n\n\n\n<li><strong>featured_image:<\/strong> modifica la &ldquo;Imagen destacada&rdquo; en el editor de entradas<\/li>\n\n\n\n<li><strong>set_featured_image: <\/strong>&nbsp;sustituye a &ldquo;Establecer imagen destacada&rdquo;<\/li>\n\n\n\n<li><strong>menu_name:<\/strong> altera el texto del enlace de nivel superior. El texto por defecto del enlace es la clave del nombre<\/li>\n<\/ul><p>Mientras tanto, la matriz <strong>$supports <\/strong>contiene elementos que definen las caracter&iacute;sticas del tipo de entrada personalizado. El valor <strong>TRUE <\/strong>habilita las siguientes caracter&iacute;sticas:<\/p><ul class=\"wp-block-list\">\n<li>T&iacute;tulo<\/li>\n\n\n\n<li>Editor<\/li>\n\n\n\n<li>Autor<\/li>\n\n\n\n<li>Miniatura<\/li>\n\n\n\n<li>Extracto<\/li>\n\n\n\n<li>Trackbacks<\/li>\n\n\n\n<li>Campos personalizados<\/li>\n\n\n\n<li>Comentarios<\/li>\n\n\n\n<li>Revisiones<\/li>\n\n\n\n<li>Atributos de la p&aacute;gina<\/li>\n\n\n\n<li>Postformatos<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-como-crear-un-custom-post-type-en-wordpress\">C&oacute;mo crear un custom post type en WordPress<\/h2><p>Hay tres formas diferentes de a&ntilde;adir custom post type en WordPress, y cada una tiene sus pros y sus contras:<\/p><ul class=\"wp-block-list\">\n<li><strong>Usar un plugin normal:<\/strong> la m&aacute;s sencillo, pero el custom post type se borrar&aacute; si desinstalas o desactivas el plugin.<\/li>\n\n\n\n<li><strong>Editar el archivo functions.php del tema<\/strong>: no requiere una herramienta adicional, pero este m&eacute;todo no conserva los datos tras la actualizaci&oacute;n del tema.<\/li>\n\n\n\n<li><strong>Crear un plugin espec&iacute;fico para el sitio<\/strong>: conserva los datos y es muy personalizable, pero requiere conocimientos t&eacute;cnicos.<\/li>\n<\/ul><p>En este art&iacute;culo, utilizaremos el tercer m&eacute;todo. Antes de continuar, te recomendamos que leas nuestro tutorial sobre <a href=\"\/es\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress\">c&oacute;mo crear un plugin<\/a> de WordPress para saber m&aacute;s sobre el c&oacute;digo personalizado.<\/p><p>Para crear tipos de entrada personalizados, utiliza la funci&oacute;n <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" target=\"_blank\" rel=\"noreferrer noopener\">register_post_type()<\/a>. Esta funci&oacute;n recibe dos par&aacute;metros: el <strong>nombre del custom post type <\/strong>y la matriz <strong>$args<\/strong>.<\/p><p>El c&oacute;digo del plugin tambi&eacute;n debe contener funciones personalizadas que llamen a <strong>register_post_type()<\/strong>. Recuerda conectar estas funciones al hook de acci&oacute;n <strong>init <\/strong>para permitir que el tipo de entrada personalizado se registre correctamente.<\/p><p>Para evitar conflictos con otros plugins, tu funci&oacute;n personalizada debe tener un prefijo como <strong>ht_<\/strong>.<\/p><p>Aqu&iacute; tienes un ejemplo de c&oacute;digo para un plugin de tipo de entrada <strong>Entradas personalizadas<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/*\nPlugin Name: Custom Post Types\nDescription: Add post types for custom articles\nAuthor: Hostinger Dev\n*\/\n\/\/ Hook ht_custom_post_custom_article() to the init action hook\nadd_action( 'init', 'ht_custom_post_custom_article' );\n\/\/ The custom function to register a custom article post type\nfunction ht_custom_post_custom_article() {\n    \/\/ Set the labels. This variable is used in the $args array\n    $labels = array(\n        'name'               =&gt; __( 'Entradas personalizadas' ),\n        'singular_name'      =&gt; __( 'Entrada personalizada' ),\n        'add_new'            =&gt; __( 'Entrada personalizada' ),\n        'add_new_item'       =&gt; __( 'A&ntilde;adir entrada personalizada' ),\n        'edit_item'          =&gt; __( 'Editar entrada personalizada' ),\n        'new_item'           =&gt; __( 'Nueva entrada personalizada' ),\n        'all_items'          =&gt; __( 'Todas las entradas personalizada' ),\n        'view_item'          =&gt; __( 'Ver entrada personalizada ),\n        'search_items'       =&gt; __( 'Buscar entrada personalizada' ),\n        'featured_image'     =&gt; 'Poster',\n        'set_featured_image' =&gt; 'Add Poster'\n    );\n\/\/ The arguments for our post type, to be entered as parameter 2 of register_post_type()\n    $args = array(\n        'labels'            =&gt; $labels,\n        'description'       =&gt; 'Holds our custom article post specific data',\n        'public'            =&gt; true,\n        'menu_position'     =&gt; 5,\n        'supports'          =&gt; array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'custom-fields' ),\n        'has_archive'       =&gt; true,\n        'show_in_admin_bar' =&gt; true,\n        'show_in_nav_menus' =&gt; true,\n        'query_var'         =&gt; true,\n    );\n    \/\/ Call the actual WordPress function\n    \/\/ Parameter 1 is a name for the post type\n    \/\/ Parameter 2 is the $args array\n    register_post_type('article', $args);\n}<\/pre><p>Ten en cuenta que el c&oacute;digo puede variar en funci&oacute;n del custom post type. Una vez que hayas terminado de escribir el c&oacute;digo, sigue estos pasos para convertirlo en un plugin:<\/p><ol class=\"wp-block-list\">\n<li>Copia y pega el c&oacute;digo en un editor de texto. Por ejemplo, utilizaremos <strong>TextEdit <\/strong>de<strong> <\/strong>MacOS.<\/li>\n\n\n\n<li>Guarda el archivo. Nombra el archivo <strong><strong>custom-post-type.php<\/strong>.<\/strong><\/li>\n\n\n\n<li>Haz clic en <strong>Guardar<\/strong>.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"822\" height=\"720\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-131.png\/public\" alt=\"Guardar texto en TextEdit\" class=\"wp-image-40101\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-131.png\/w=822,fit=scale-down 822w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-131.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-131.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-131.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/figure><ol class=\"wp-block-list\" start=\"4\">\n<li>Abre el gestor de archivos de tu cliente FTP o de tu cuenta de alojamiento. Para los usuarios de Hostinger, ve a tu <strong>hPanel <\/strong>&rarr; <strong>Hosting <\/strong>&rarr; <strong>Administrar <\/strong><strong>&rarr; Archivos &rarr; <\/strong><strong>Administrador de Archivos<\/strong>.<\/li>\n\n\n\n<li>Dentro del <strong>Administrador de Archivos<\/strong>, navega hasta <strong>public_html <\/strong>&rarr; <strong>wp-content <\/strong>&rarr; <strong>plugins<\/strong>.<\/li>\n\n\n\n<li>Crea una nueva carpeta y n&oacute;mbrala <strong>custom-post-type<\/strong>.<\/li>\n\n\n\n<li>Pega el archivo en la carpeta.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"424\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-34.png\/public\" alt=\"Administrador de archivos de Hostinger\" class=\"wp-image-36369\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-34.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-34.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-34.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-34.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol class=\"wp-block-list\" start=\"8\">\n<li>Accede a tu panel de control de WordPress. Ve a <strong>Plugins <\/strong>&rarr; <strong>Plugins instalados<\/strong>.<\/li>\n\n\n\n<li>Busca el plugin <strong>Entradas personalizadas <\/strong>y haz clic en <strong>Activar<\/strong>.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"298\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/Captura-de-pantalla-2023-11-08-a-las-1.42.41-p.m.png\/public\" alt=\"Secci&oacute;n de plugins de WordPress\" class=\"wp-image-36370\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/Captura-de-pantalla-2023-11-08-a-las-1.42.41-p.m.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/Captura-de-pantalla-2023-11-08-a-las-1.42.41-p.m.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/Captura-de-pantalla-2023-11-08-a-las-1.42.41-p.m.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/Captura-de-pantalla-2023-11-08-a-las-1.42.41-p.m.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol class=\"wp-block-list\" start=\"10\">\n<li>Actualiza la p&aacute;gina. Deber&iacute;as ver el tipo de entrada <strong>Art&iacute;culos personalizados <\/strong>en el men&uacute; de administraci&oacute;n de WordPress.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"355\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-35.png\/public\" alt=\"Entradas personalizadas ejemplo en WordPress\" class=\"wp-image-36371\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-35.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-35.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-35.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-35.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Puedes crear un n&uacute;mero ilimitado de tipos de entradas personalizadas. Sin embargo, demasiados tipos de entrada personalizados pueden ralentizar el descubrimiento de la <a href=\"\/es\/tutoriales\/guia-para-principiantes-api-rest-wordpress\/\">API REST<\/a> y complicar la barra de administraci&oacute;n.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-personalizar-el-nuevo-tipo-de-entrada\">C&oacute;mo personalizar el nuevo tipo de entrada<\/h2><p>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.<\/p><p>Necesitas dos archivos de plantilla para la personalizaci&oacute;n: <strong>single-{post_type}.php <\/strong>y <strong>archive-{post_type}.php<\/strong>. Son plantillas para una entrada individual y para la p&aacute;gina de archivo del tipo personalizado, respectivamente.<\/p><p>WordPress utilizar&aacute; los archivos predeterminados <strong>single.php <\/strong>y <strong>archive.php <\/strong>si no creas estas plantillas. Puesto que todas las entradas y archivos hacen referencia a esos dos archivos, personalizarlos cambiar&aacute; todo el sitio.<\/p><p>La mejor forma de crear archivos de plantilla es duplicar los archivos <strong>single.php <\/strong>y <strong>archive.php <\/strong>existentes de tu tema. Este m&eacute;todo mantiene la estructura del tema de tu sitio y establece la etiqueta de plantilla necesaria, simplificando el proceso de personalizaci&oacute;n.<\/p><p>Aqu&iacute; tienes los pasos para hacerlo:<\/p><ol class=\"wp-block-list\">\n<li>Accede al Administrador de archivos de tu cliente FTP o de tu cuenta de alojamiento.<\/li>\n\n\n\n<li>Localiza la carpeta de tu tema activo. En nuestro caso, est&aacute; en <strong>\/public_html\/wp-content\/themes\/twentytwentyone<\/strong>.<\/li>\n\n\n\n<li>Copia los archivos <strong>single.php <\/strong>y <strong>archive.php <\/strong>y p&eacute;galos fuera de esa carpeta.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"450\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-36.png\/public\" alt=\"Administrador de archivos de Hostinger\" class=\"wp-image-36372\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-36.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-36.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-36.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-36.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol class=\"wp-block-list\" start=\"4\">\n<li>Cambiales el nombre en funci&oacute;n del par&aacute;metro 1 de tu <strong>register_post_type()<\/strong>. Como nuestro par&aacute;metro 1 es <strong>article<\/strong>, los nombres son <strong>single-article.php <\/strong>y <strong>archive.article.php<\/strong>.<\/li>\n\n\n\n<li>Vuelve a mover los archivos a la carpeta <strong>twentytwentyone<\/strong>.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"337\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-37.png\/public\" alt=\"Administrador de archivos de hPanel\" class=\"wp-image-36373\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-37.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-37.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-37.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/11\/image-37.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol class=\"wp-block-list\" start=\"6\">\n<li>Repite los pasos dos y tres para otras plantillas de tipos de entrada personalizados.<\/li>\n<\/ol><p>\n\n\n\n<div><p class=\"important\"><strong>&iexcl;Importante! <\/strong>Los<strong> <\/strong>temas con la misma estructura para entradas y p&aacute;ginas no tendr&aacute;n archivos <strong>single.php <\/strong>y archive.php. Estos temas s&oacute;lo utilizan el archivo<strong> singular.php<\/strong>.<\/p><\/div>\n\n\n\n<\/p><p>Para personalizar los archivos de plantilla, desc&aacute;rgalos y ed&iacute;talos con un editor de texto. Si utilizas el servicio de <a href=\"\/es\/hosting-web\">alojamiento web<\/a> de Hostinger, ed&iacute;talos directamente en el Administrador de archivos.<\/p><p>Una vez guardados los archivos, los cambios s&oacute;lo se aplicar&aacute;n a la p&aacute;gina de archivo y a la entrada individual del tipo personalizado.<\/p><h3 class=\"wp-block-heading\" id=\"h-anadir-un-meta-box-a-un-custom-post-type\">A&ntilde;adir un meta box a un custom post type<\/h3><p>El cuadro meta o meta box es una ventana de la pantalla de edici&oacute;n que permite a los usuarios a&ntilde;adir metadatos de las entradas. Es &uacute;til para a&ntilde;adir o modificar la informaci&oacute;n de las entradas, como los detalles del autor, los controles de publicaci&oacute;n y el slug personalizado.<\/p><p>Aunque WordPress incluye meta boxes por defecto, puede que necesites uno espec&iacute;fico para tu tipo de entrada personalizada. Por ejemplo, el tipo de entrada personalizada <strong>Pel&iacute;culas <\/strong>puede requerir el metabox <strong>G&eacute;nero<\/strong>.<\/p><p>Utilizar un cuadro meta te ayuda a a&ntilde;adir metadatos a tu contenido m&aacute;s r&aacute;pidamente. En lugar de introducir el valor individualmente, puedes hacer clic en los datos del cuadro meta para introducirlos.<\/p><p>Para crear un cuadro meta personalizado, edita el <strong>archivo functions.php <\/strong>de tu tema o el c&oacute;digo del plugin espec&iacute;fico del sitio. En este tutorial, a&ntilde;adiremos el c&oacute;digo personalizado del nuevo cuadro meta al archivo del plugin.<\/p><p>Dado que el c&oacute;digo var&iacute;a en funci&oacute;n del contenido y la ubicaci&oacute;n de la meta box, consulta el codex de WordPress para obtener m&aacute;s informaci&oacute;n. En este tutorial, explicaremos c&oacute;mo crear una meta box de <strong>Autor <\/strong>personalizada:<\/p><ol class=\"wp-block-list\">\n<li>Localiza el archivo <strong>custom-post-type.php <\/strong>en el gestor de archivos de tu alojamiento o en tu cliente FTP.<\/li>\n\n\n\n<li>Haz doble clic en el archivo para abrir la pantalla del editor. Alternativamente, descarga y abre el archivo en un editor de texto o de c&oacute;digo.<\/li>\n\n\n\n<li>Crea una metabox personalizada vac&iacute;a introduciendo el siguiente c&oacute;digo:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Add meta box \nadd_action(\"add_meta_boxes\", \"add_author_meta_box\");\nfunction add_author_meta_box()\n{\n    add_meta_box(\n    \"author_meta_box\", \/\/ Meta box ID\n    \"Author Details\", \/\/ Meta box title\n    \"author_meta_box_callback\", \/\/ Meta box callback function\n    \"article\", \/\/ The custom post type parameter 1\n    \"side\", \/\/ Meta box location in the edit screen\n    \"high\" \/\/ Meta box priority\n); \n}\nfunction author_meta_box_callback()\n{ \n  wp_nonce_field(&lsquo;author-nonce&rsquo;, &lsquo;meta-box-nonce&rsquo;);\nglobal $post;\nplaceholder\n}<\/pre><ol class=\"wp-block-list\" start=\"4\">\n<li>A&ntilde;ade el contenido de la meta box sustituyendo el valor del<strong> marcador de posici&oacute;n<\/strong>. Para este tutorial, a&ntilde;adiremos los campos nombre de autor e ID utilizando el siguiente c&oacute;digo.<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Add meta box content \n ?&gt;\n  &lt;th&gt;&lt;label for=\"author_name_field\"&gt;Author Name&lt;\/label&gt;&lt;th&gt;\n  &lt;td&gt;&lt;input \ntype=\"text\"\nid=\"author_name\" \nclass=\"regular-text\" \nname=&ldquo;Author_Name&rdquo; \nvalue=&ldquo;&rdquo; \n\/&gt; \n    &lt;td&gt; \n    &lt;th&gt;&lt;label for=\"author_id_field\"&gt;Author ID&lt;\/label&gt;&lt;th&gt;\n  &lt;td&gt;&lt;input \ntype=\"text\" \nid=\"author_id\" \nclass=\"regular-text\"\nname=&ldquo;Author_ID&rdquo;\nValue=&rdquo;&rdquo;\n\/&gt; \n    &lt;td&gt; \n  &lt;?php <\/pre><ol class=\"wp-block-list\" start=\"5\">\n<li>Al final del c&oacute;digo, a&ntilde;ade el siguiente fragmento para guardar los valores introducidos:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Save meta box data\nadd_action ( 'save_post', 'author_save_postdata');\nfunction author_save_postdata( $post_id ) {\n\/\/ If this is an autosave, our form has not been submitted\nif ( defined( 'DOING_AUTOSAVE' ) &amp;&amp; DOING_AUTOSAVE ) \nreturn $post_id;\n  \/\/ Retrieve post id\n  If (&lsquo;article&rsquo; !== get_post_type() ) {\n    return $post_id\n}\n   \/\/ Check the user's permissions\n     if ( 'page' == $_POST['post_type'] ) {\n  \nif ( ! current_user_can( 'edit_page', $post_id ) )\nreturn $post_id;\n  \n} else {\n  \nif ( ! current_user_can( 'edit_post', $post_id ) )\nreturn $post_id;\n}\n  \n\/* OK, it is safe to save the data now. *\/\n  \n\/\/ Sanitize user input.\n$mydata = sanitize_text_field( $_POST['Author_Name'] );\n$mydata = sanitize_text_field( $_POST['Author_ID'] );\n  \n\/\/ Update the meta field in the database.\nupdate_post_meta( $post_id, 'Author_Name', $_POST['Author_Name'] ); \nupdate_post_meta( $post_id, 'Author_ID', $_POST['Author_ID'] ); \n }<\/pre><ol class=\"wp-block-list\" start=\"6\">\n<li>En el editor de c&oacute;digo del gestor de archivos, haz clic en el <strong>icono del disco <\/strong>de<strong> <\/strong>la parte superior derecha para guardar el cambio. Si editas el c&oacute;digo localmente, guarda y vuelve a subir el archivo actualizado.<\/li>\n<\/ol><p>El nuevo cuadro meta deber&iacute;a aparecer si abres la pantalla de edici&oacute;n de tu tipo de entrada personalizado.<\/p><p>Para asegurarte de que el meta box funciona correctamente, introduce textos en el campo designado y actualiza la entrada. El valor introducido deber&iacute;a aparecer en los campos personalizados.<\/p><p>Si necesitas familiarizarte m&aacute;s con PHP, utiliza el plugin Meta Box para generar autom&aacute;ticamente el c&oacute;digo. Como s&oacute;lo genera el c&oacute;digo del contenido de las meta boxes, debes escribir t&uacute; mismo la funci&oacute;n <strong>add_metabox ()<\/strong>.<\/p><p>Despu&eacute;s de descargar e instalar el plugin, sigue estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>En la barra lateral de WordPress, ve a <strong>Plugins <\/strong>&rarr; <strong>Plugins instalados<\/strong>.<\/li>\n\n\n\n<li>Busca el plugin <strong>Meta Box <\/strong>y haz clic en <strong>Acerca de <\/strong><strong>&rarr; Ir a Generador Online<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"3\">\n<li>Crea un cuadro meta personalizado.<\/li>\n\n\n\n<li>Haz clic en <strong>Generar c&oacute;digo <\/strong>&rarr; <strong>Copiar<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"5\">\n<li>Pega el c&oacute;digo en tu archivo <strong>functions.php <\/strong>o <strong>custom-post-type.php.<\/strong><\/li>\n<\/ol><p>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Consejo profesional<\/h4>\n                    <p>Utiliza un plugin para a&ntilde;adir c&oacute;digo PHP en las entradas o p&aacute;ginas de WordPress directamente a trav&eacute;s del panel de administraci&oacute;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.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-como-mostrar-tipos-de-entrada-personalizados-en-la-pagina-principal\">C&oacute;mo mostrar tipos de entrada personalizados en la p&aacute;gina principal<\/h2><p>Los tipos de entrada personalizados de WordPress no se muestran en la portada por defecto. Para habilitarlos, escribe una nueva funci&oacute;n que llame al m&eacute;todo set del objeto <a href=\"\/es\/tutoriales\/wp_query-wordpress\">WP_Query de WordPress<\/a>.<\/p><p>Aqu&iacute; un ejemplo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Pin our custom function to the pre_get_posts action hook\nadd_action( 'pre_get_posts', 'add_article_to_frontpage' );\n\/\/ Alter the main query\nfunction add_article_to_frontpage( $query ) {\n if ( is_home() &amp;&amp; $query-&gt;is_main_query() ) {\n        $query-&gt;set( 'post_type', array( 'post', 'article' ) );\n    }\n    return $query;\n}<\/pre><p>En esta funci&oacute;n, <strong>$query-&gt;set() <\/strong>toma dos par&aacute;metros: la propiedad modificada y una matriz que define su valor. En nuestro caso, la propiedad modificada es <strong>post_type<\/strong>, mientras que los valores de la matriz son <strong>post <\/strong>y <strong>article<\/strong>.<\/p><p>El array incluye &ldquo;<strong>post<\/strong>&rdquo; para mostrar el tipo de post por defecto en la portada de tu web. Si lo eliminas, s&oacute;lo se mostrar&aacute;n las entradas personalizadas.<\/p><p>El segundo par&aacute;metro es &ldquo;<strong>article<\/strong>&rdquo;, que muestra las entradas normales y todas las entradas de art&iacute;culos personalizados en la portada.<\/p><p>Para activar el c&oacute;digo, p&eacute;galo en el archivo <strong>functions.php <\/strong>de tu tema o en el del plugin personalizado. Te mostraremos c&oacute;mo pegarlo en el plugin:<\/p><ol class=\"wp-block-list\">\n<li>Accede a los archivos de tu sitio de WordPress y ve a la carpeta de tu plugin personalizado. La nuestra est&aacute; en <strong>\/public_html\/wp-content\/plugins\/custom-post-type<\/strong>.<\/li>\n\n\n\n<li>Abre el archivo <strong>.php<\/strong>. A continuaci&oacute;n, copia y pega el c&oacute;digo de la parte inferior.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-132.png\/public\" alt=\"Archivo custom-post-type.php en el Administrador de archivos de Hostinger\" class=\"wp-image-40102\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-132.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-132.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-132.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/05\/image-132.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol class=\"wp-block-list\" start=\"3\">\n<li>Pulsa el <strong>icono del disco <\/strong>en la parte superior derecha para guardar los cambios.<\/li>\n<\/ol><p>Los tipos de entrada predeterminados y personalizados deber&iacute;an estar disponibles en la portada de tu sitio web en WordPress.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-anadir-y-mostrar-un-campo-personalizado-de-wordpress\">C&oacute;mo a&ntilde;adir y mostrar un campo personalizado de WordPress<\/h2><p>Despu&eacute;s de crear un nuevo custom post type, puede que necesites a&ntilde;adir un campo personalizado para dar m&aacute;s detalles a tu contenido.<\/p><p>Para esta tarea, puedes utilizar el campo personalizado integrado de WordPress o un plugin. Como cada m&eacute;todo tiene sus pros y sus contras, te explicaremos ambos para ayudarte a decidir cu&aacute;l te conviene m&aacute;s.<\/p><h3 class=\"wp-block-heading\" id=\"h-usar-el-campo-personalizado-predeterminado-de-wordpress\">Usar el campo personalizado predeterminado de WordPress<\/h3><p>WordPress nos proporciona una herramienta integrada para a&ntilde;adir un campo personalizado. Como est&aacute; oculto por defecto, act&iacute;valo yendo al <strong>Editor de entradas <\/strong>&rarr; <strong>Opci&oacute;n de pantalla<\/strong>.<\/p><p>Una vez activado, ver&aacute;s la secci&oacute;n de campos personalizados en la parte inferior de la pantalla de edici&oacute;n de WordPress. Introduce el nombre y el valor, y haz clic en el bot&oacute;n <strong>A&ntilde;adir campo personalizado<\/strong>.<\/p><p>Sin embargo, los campos personalizados no se mostrar&aacute;n en el front-end de tu p&aacute;gina por defecto. Para activarlos, inserta <strong>la <\/strong>funci&oacute;n <strong>the_meta() <\/strong>o <strong>echo get_post_meta() <\/strong>en el archivo de tu tema activo.<\/p><p>Utiliza <strong>the_meta() <\/strong>para mostrar todos los campos personalizados de una entrada. Para mostrar un campo personalizado concreto, utiliza <strong>echo get_post_meta( $post-&gt;ID, &lsquo;clave&rsquo;, TRUE)<\/strong>. Sustituye el valor de la clave por el nombre de tu campo personalizado.<\/p><p>Como hay dos tipos de post, puedes editar <strong>single.php <\/strong>o <strong>single-article.php<\/strong>. Depende de d&oacute;nde quieras mostrar el campo personalizado.<\/p><p>Supongamos que quieres a&ntilde;adir un campo personalizado <strong>Author <\/strong>para las entradas de tipo art&iacute;culo personalizado. En ese caso, introduce uno de los c&oacute;digos de funci&oacute;n en el archivo <strong>single-article.php<\/strong>. Estos son los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Desde tu panel de control de WordPress, dir&iacute;gete a <strong>Apariencia <\/strong>&rarr; <strong>Editor de temas<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"2\">\n<li>En el men&uacute; <strong>Archivos Tem&aacute;ticos<\/strong>, situado a la derecha de tu pantalla, selecciona <strong>singe-article.php<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"3\">\n<li>Localiza el <a href=\"https:\/\/codex.wordpress.org\/the_loop\" target=\"_blank\" rel=\"noopener\">Bucle de WordPress<\/a> y encuentra esta l&iacute;nea:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">get_template_part( 'template-parts\/post\/content', get_post_format() );<\/pre><ol class=\"wp-block-list\" start=\"4\">\n<li>Pega uno de los c&oacute;digos de funci&oacute;n bajo la l&iacute;nea.<\/li>\n\n\n\n<li>Haz clic en <strong>Actualizar archivo<\/strong>.<\/li>\n<\/ol><p>Tu sitio web de WordPress mostrar&aacute; ahora el campo personalizado <strong>Author <\/strong>debajo de la entrada.<\/p><h3 class=\"wp-block-heading\" id=\"h-limitar-los-campos-personalizados-a-un-tipo-de-entrada-especifico-mediante-un-plugin\">Limitar los campos personalizados a un tipo de entrada espec&iacute;fico mediante un plugin<\/h3><p>Lamentablemente, no puedes utilizar la herramienta integrada de WordPress para a&ntilde;adir un campo personalizado para un tipo de entrada espec&iacute;fico. Esta herramienta predeterminada a&ntilde;ade autom&aacute;ticamente un nuevo campo personalizado para todos los tipos de entrada.<\/p><p>En su lugar, utiliza el plugin <strong>Advanced Custom Fields<\/strong>. Este limita ciertos campos personalizados, haci&eacute;ndolos seleccionables s&oacute;lo en un tipo de entrada elegido.<\/p><p>\n\n\n\n<div><p class=\"important\"><strong>&iexcl;Importante!<\/strong> Una vez activado este plugin, ya no ver&aacute;s el campo personalizado predeterminado de WordPress en el editor de entradas.<\/p><\/div>\n\n\n\n<\/p><p>Despu&eacute;s de activar el plugin, sigue estos pasos para crear y habilitar un campo personalizado para un tipo de entrada espec&iacute;fico:<\/p><ol class=\"wp-block-list\">\n<li>Ve a tu barra lateral de WordPress, haz clic en <strong>Campos personalizados <\/strong>&rarr; <strong>A&ntilde;adir nuevo<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"2\">\n<li>Introduce el nombre del <strong>Nuevo Grupo de Campos<\/strong>.<\/li>\n\n\n\n<li>Rellena los siguientes datos para tu nuevo campo personalizado:<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li><strong>Etiqueta de campo:<\/strong> el nombre de tu campo personalizado que se mostrar&aacute; en la p&aacute;gina de edici&oacute;n.<\/li>\n\n\n\n<li><strong>Nombre del campo:<\/strong> el ID de tu campo personalizado que se utilizar&aacute; para mostrarlo en tu tema.<\/li>\n\n\n\n<li><strong>Tipo de campo<\/strong>: elige entre texto, casilla de verificaci&oacute;n, URL, etc., en funci&oacute;n de tus necesidades.<\/li>\n<\/ul><ol class=\"wp-block-list\" start=\"4\">\n<li>Cuando hayas terminado, pulsa <strong>Cerrar campo<\/strong>.<\/li>\n\n\n\n<li>Despl&aacute;zate hasta la secci&oacute;n <strong>Configuraci&oacute;n <\/strong>y selecciona la pesta&ntilde;a <strong>Reglas de localizaci&oacute;n.<\/strong><\/li>\n\n\n\n<li>Rellena las columnas <strong>Mostrar este campo si <\/strong>para definir la condici&oacute;n de visibilidad del campo personalizado. Por ejemplo, para que sea seleccionable en un tipo de entrada <strong>Art&iacute;culo personalizado<\/strong>, elige <strong>Tipo de entrada <\/strong>&rarr; <strong>es igual a <\/strong>&rarr; <strong>Art&iacute;culo personalizado<\/strong>.<\/li>\n<\/ol><ol class=\"wp-block-list\" start=\"7\">\n<li>Pulsa el bot&oacute;n <strong>Guardar cambios.<\/strong><\/li>\n<\/ol><p>Puesto que creas este campo a trav&eacute;s de un plugin, debes utilizar sus funciones para mostrar el campo personalizado. Los pasos para insertar la funci&oacute;n son similares a los de a&ntilde;adir un campo personalizado por defecto, pero introduce la<strong> <\/strong>funci&oacute;n <strong>the_post( &lsquo;key&rsquo; ); <\/strong>en su lugar.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"\/es\/hosting-wordpress\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/06\/ES-New-WP_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-40615\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/06\/ES-New-WP_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/06\/ES-New-WP_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/06\/ES-New-WP_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2024\/06\/ES-New-WP_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p>Los custom post types en WordPress permiten a los usuarios organizar el contenido de su sitio web en diferentes categor&iacute;as. Sin embargo, los tipos de entrada predeterminados pueden no ser suficientes para un sitio web grande con contenido diverso.<\/p><p>En ese caso, puedes crear un tipo de entrada personalizado en WordPress creando plugins espec&iacute;ficos para el sitio. Aqu&iacute; tienes un resumen de los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Escribe el c&oacute;digo del plugin en un editor de texto y gu&aacute;rdalo como <strong>.php<\/strong>.<\/li>\n\n\n\n<li>Crea una carpeta de tipos de entrada personalizados en el directorio de plugins de tu sitio.<\/li>\n\n\n\n<li>Pega el archivo en la nueva carpeta.<\/li>\n\n\n\n<li>Ve a tu <strong>Panel de administraci&oacute;n de WordPress <\/strong>&rarr; <strong>Plugins <\/strong>&rarr; <strong>Plugins instalados<\/strong><\/li>\n\n\n\n<li>Busca el plugin custom post type y haz clic en <strong>Activar<\/strong>.<\/li>\n<\/ol><p>Tu tipo de entrada personalizado tambi&eacute;n tiene muchas opciones de personalizaci&oacute;n. Por ejemplo, puedes personalizar la pantalla de edici&oacute;n, a&ntilde;adir meta boxes, editar la visibilidad del tipo de entrada y activar las funciones integradas de WordPress.<\/p><p>Esta amplia personalizaci&oacute;n te permite crear un tipo de entrada que se adapte espec&iacute;ficamente a tu contenido, ayud&aacute;ndote a organizar tu sitio web de WordPress de forma m&aacute;s r&aacute;pida y eficaz.<\/p><p>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Aprende otras t&eacute;cnicas avanzadas de WordPress<\/h4>\n                    <p><a href=\"\/es\/tutoriales\/anadir-css-personalizado-wordpress\">C&oacute;mo a&ntilde;adir CSS personalizado en WordPress<\/a><\/p><p><a href=\"\/es\/tutoriales\/crear-widgets-wordpress-personalizados\">C&oacute;mo crear widgets personalizados en WordPress<\/a><\/p><p><a href=\"\/es\/tutoriales\/como-usar-xampp-wordpress\">C&oacute;mo usar XAMPP para configurar un sitio local de WordPress<\/a><\/p><p><a href=\"\/es\/tutoriales\/duplicar-pagina-wordpress\/\">C&oacute;mo duplicar p&aacute;ginas en WordPress<\/a><\/p><p><a href=\"\/es\/tutoriales\/que-son-hooks-wordpress\">Gu&iacute;a de Hooks de WordPress<\/a><\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-custom-post-type-preguntas-frecuentes\">Custom post type &ndash; Preguntas frecuentes<\/h2><p>Esta secci&oacute;n responder&aacute; las preguntas comunes sobre el tipo de entrada personalizada de WordPress. No obstante, si tienes m&aacute;s preguntas, d&eacute;jalas en la acci&oacute;n de comentarios a continuaci&oacute;n.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69447692a2f6c\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Cu&aacute;l es la diferencia entre un Post y un Custom Post Type?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>En WordPress, una <strong>entrada <\/strong>puede referirse a una &uacute;nica pieza de contenido. Tambi&eacute;n puede referirse a un tipo de entrada similar a p&aacute;ginas, archivos adjuntos, revisiones y otros.<\/p>\n<p>Por su parte, un <strong>custom post type <\/strong>es una categor&iacute;a de contenido que crean los propios usuarios.&nbsp;<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69447692a2f6f\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Qu&eacute; puedes cambiar en el Custom Post Type de WordPress?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Puedes cambiar su ubicaci&oacute;n en el &aacute;rea de administraci&oacute;n, la capacidad de b&uacute;squeda y funciones adicionales como extractos, formatos de post y trackbacks.<\/p>\n<p>Adem&aacute;s, WordPress tambi&eacute;n te permite modificar la pantalla de edici&oacute;n de entradas y a&ntilde;adir campos personalizados para incluir m&aacute;s informaci&oacute;n en tu contenido. Por ejemplo, puedes mostrar el autor de la entrada o el tiempo de lectura.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69447692a2f70\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Es posible obtener un ID de tipo de entrada personalizado?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>S&iacute;. Para ver el ID de una entrada de WordPress, pasa el rat&oacute;n por encima del t&iacute;tulo del contenido y ver&aacute;s la UR en la esquina inferior izquierda. Es el n&uacute;mero que hay entre los par&aacute;metros &laquo;<strong>post=<\/strong>&raquo; y &laquo;&amp;&raquo;.<\/p>\n<p>Tambi&eacute;n puedes obtener un ID &uacute;nico de tipo de entrada personalizada por su t&iacute;tulo utilizando el comando <strong>get_page_by_title ()<\/strong>.&nbsp;<\/p>\n<p>Alternativamente, recup&eacute;ralo utilizando slug el comando <strong>get_page_by_path ()<\/strong>.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress tiene varios tipos de entradas para ayudarte a organizar el contenido de tu sitio web. Con ellos puedes crear f&aacute;cilmente un blog cronol&oacute;gico o mostrar p&aacute;ginas est&aacute;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 [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/custom-post-types-wordpress\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":85,"featured_media":31424,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo crear un Custom Post Type en WordPress","rank_math_description":"Aprende de forma sencilla como crear un custom post type o publicaciones personalizadas en WordPress utilizando un plugin creado desde cero.","rank_math_focus_keyword":"custom post type wordpress","footnotes":""},"categories":[4747,14348],"tags":[8076],"class_list":["post-6488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","category-experto","tag-custom-post-types"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-criar-custom-post-types-wordpress","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-creer-custom-post-type-wordpress","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/custom-post-types-wordpress","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-membuat-custom-post-types","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/agregar-meta-descripcion-wordpress-5","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/agregar-meta-descripcion-wordpress-5","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/custom-post-types-wordpress","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-criar-custom-post-types-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-custom-post-types","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-custom-post-types","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/6488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=6488"}],"version-history":[{"count":25,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/6488\/revisions"}],"predecessor-version":[{"id":50014,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/6488\/revisions\/50014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media\/31424"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=6488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=6488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=6488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}