[icon name="fa-wordpress"]

Instalar WordPress

Guía de Instalación

[icon name="fa-heartbeat"]

Optimizar WordPress

Optimización y Velocidad

[icon name="fa-lock"]

Seguridad de WordPress

Guía de Protección

Cómo Crear <i>Custom Post Type</i> en WordPress

WordPress clasifica y muestra diferentes tipos de contenido, según su naturaleza y semántica. El tipo de contenido general más usado se llama entrada (post), pero incluso en este tipo hay entradas personalizadas, que los programadores desarrollan para ofrecer soluciones a los clientes y usuarios. Hoy te mostraremos con detalle cómo crear Custom Post Type o entradas personalizadas en WordPress.

¿Qué es Custom Post Type?

Antes de hablar de lo qué es o cómo crear custom post type en WordPress, vamos a descubrir qué tipos de entradas ofrece este gestor de contenido, como hemos dicho, el contenido se clasifica en WordPress según su naturaleza y especie de datos, por tanto, a partir de esta clasificación encontramos varios tipos de entradas.

Las entradas o posts predeterminados que WordPress WordPress incluye trazan los límites de tipo de contenido que se puede subir o publicar en un sitio web.

Entradas Predeterminadas en WordPress

En el transcurso de desarrollo de WordPress, de una sencilla plataforma de blogging y publicación a un completo gestor de contenido que permite crear todo tipo de sitio web, han ido apareciendo nuevas entradas (posts).

De forma predeterminada el sistema de WordPress incluye estos tipos de entradas en cualquier nueva instalación:

  • Entrada : Es la típica entrada de WordPress, quizá la que se apoderó del nombre de entrada, ya que es una de las primeras que ha creado WordPress, y que se usa para crear artículos o publicaciones.
  • Página : Es casi idéntica a una entrada de artículo, con la diferencia de que las páginas no se clasifican por un criterio cronológico, y suelen contener contenido estático.
  • Adjunto : Es un tipo especial de entrada, que almacena información sobre una imagen o archivo  subido a WordPress desde el sistema de Medios en el panel de administración.
  • Revisión : Una revisión en WordPress es considerada por sí una entrada, que almacena una versión de borrador de un artículo, que puedes recuperar cuando quieres deshacer los cambios en una entrada de artículo.
  • Menú de Navegación : El menú normal que WordPress permite crear y personalizar desde el panel d e administración en la sección de Apariencia » Menús.

Estas son generalmente las entradas predeterminadas en WordPress, en un artículo futuro (usa buscador) hablaremos con más detalle sobre estas entradas.

WordPress sabe que no todo el mundo utiliza su sistema para crear blog o sitio de publicaciones, sino mucho más que esto, por esta razón te ofrece una gran herramienta para crear tu propia entrada personalizada o cutom post, lo cual ha revolucionado para siempre la plataforma.

Te podría interesar leer:  Resaltar Comentarios de Autor en WordPress

Crear Custom Post Type en WordPress

Las entradas personalizadas, o custom post type son nuevas entradas que puedes crear en tu sitio web, con nuevas características, que responden a las necesidades de tu sitio web para presentar tu contenido de forma técnicamaente personalizada.

Un buen ejemplo de ello podemos encontrar postafolios, productos en WooCommerce, testimonios de clientes sobre productos, entre otros más usos.

Crear Custom Post Type con Plugin

Sin duda una de las formas predilectas de usuarios y desarrolladores de WordPress, para crear una entrada personalizada o custom post, sin ensuciarse las manos con código, y para hacerlo de forma limpia y cómoda.

Crear nuevo custom post type en WordPress con Plugin Custom Post Type UI

El plugin que vamos a usar es Custom Post Type UI, que puedes descargar e instalar directamente desde tu panel de plugins, o en el repositorio oficial (enlace). Después lo activas para empezar la creación de la entrada.

Tal como dice su nombre, el plugin Custom Post Tpe UI ofrece una interfaz de usuario para crear entrada personalizada, según determinadas especificaciones.

Para crear tu primer post type, te diriges al nuevo menú que crea el plugin en el panel de administración, CPT UI » Add/Edit Post Types donde aparece un conjunto de formularios donde especificas las características y denominaciones de  cada sección.

Etiquetas personalizadas del custom post type en WordPress

La primera sección de información básica (Basic Settings) es requerida para crear tu post type, aunque es recomendable rellenar todos los formularios de la nueva entrada, ya que sobreescribe las denominaciones predeterminadas de WordPress, dando así más personalidad a tu post type en la sección de etiquetas adicionales (Additional labels).

Y en la sección de Ajustes (Settings) de la misma página para crear nuevo post type, puedes establecer los valores correspondientes al tipo de entrada que deseas construir. Esta configuración dependerá de lo que quieres hacer con la entrada personalizada.

Crear Nueva Taxonomía

El plugin no se limita sólo a crear post type, sino también permite una buena interfaz de usuario para crear taxonomías personalizadas.

El proceso para crear nueva taxonomía en WordPress no difiere mucho del proceso de creación de nuevo post type, y a su vez incluye información básica requerida, etiquetas adicionales y los ajustes propios de la taxonomía.

Te podría interesar leer:  Redireccionar Usuario en WordPress al Iniciar Sesión

Crear Post Type con Código

Para crear custom post type con código, necesitas utilizar una función que ofrece WordPress que se dedica sólo para esto, que se llama register_post_type() la cual te permite registrar una nueva entrada personalizada, con múltiples especificaciones que necesitas en  tu sitio web.

function wpbody_post_type() {
	$etiquetas = array(
		'name'                  => _x( 'Libros', 'Post Type General Name', 'wpbody' ),
		'singular_name'         => _x( 'Libro', 'Post Type Singular Name', 'wpbody' ),
		'menu_name'             => __( 'Libros', 'wpbody' ),
		'name_admin_bar'        => __( 'Libros', 'wpbody' ),
		'all_items'             => __( 'Todos los Libros', 'wpbody' ),
		'add_new_item'          => __( 'Nuevo Libro', 'wpbody' ),
		'add_new'               => __( 'Añadir Nuevo', 'wpbody' ),
		'new_item'              => __( 'Nuevo Libro', 'wpbody' ),
		'edit_item'             => __( 'Editar Libro', 'wpbody' ),
		'update_item'           => __( 'Actualizar Libro', 'wpbody' ),
		'view_item'             => __( 'Ver Libro', 'wpbody' ),
		'view_items'            => __( 'Ver Libros', 'wpbody' ),
		'search_items'          => __( 'Buscar Libro', 'wpbody' ),
		'not_found'             => __( 'No encontrado', 'wpbody' ),
		'not_found_in_trash'    => __( 'No encontrado en Papelera', 'wpbody' ),
		'featured_image'        => __( 'Imagen Destacada', 'wpbody' ),
		'set_featured_image'    => __( 'Asignar imagen destacada', 'wpbody' ),
		'remove_featured_image' => __( 'Quitar imagen destacada', 'wpbody' ),
		'use_featured_image'    => __( 'Usar como imagen destacada', 'wpbody' ),
	);
	$args = array(
		'label'                 => __( 'Libro', 'wpbody' ),
		'description'           => __( 'Descripción de Libros', 'wpbody' ),
		'labels'                => $etiquetas,
		'supports'              => array( ),
		'taxonomies'            => array( 'category', 'post_tag' ),
		'hierarchical'          => false,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'menu_position'         => 5,
		'show_in_admin_bar'     => true,
		'show_in_nav_menus'     => true,
		'can_export'            => true,
		'has_archive'           => true,		
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'capability_type'       => 'page',
	);
	register_post_type( 'libros', $args );
}
add_action( 'init', 'wpbody_post_type', 0 );

Copias y pegas este código en el archivo de functions.php de tu tema actual para que tenga efecto, pero antes de realizar cambios te recomendamos crear un backup de tu sitio. Si es la primera vez que vas a trabajar con código, te invitamos a leer cómo editar archivos en WordPress de forma  correcta.

Lo que hace este sencillo código es crear un nuevo menú en tu panel de administración con el nombre de Libros, donde puedes agregar contenido casi idéntico a las típicas entradas de WordPress.

En ello especificamos sólo algunas de las etiquetas, puedes crear custom post type en WordPress con código desde el generador automático de GenerateWP que te permite también especificar toda la configuración de la entrada nueva.

Te podría interesar leer:  Cómo Deshabilitar Editor de Plugins y Temas de WordPress

Utilizar Post Type en tu WordPress

Nuevo custom post type de libros en WordPress

WordPress de forma automática añade en tu panel de administración un nuevo menú llamado Libros justo debajo de Entradas, con una interfaz completa para usar tu post type. No necesitas CSS ni HTML para crear ninguna página.

WordPress también se encarga de crear una estructura legible para los humanos y que los motores de búsqueda pueden entender y archivar con más precisión.

http://example.com/libros/libro-wordpress

Este es un ejemplo real de cómo vas a ver el enlace de cualquier libro que publicas en la nueva entrada post type, si usas la estructura de nombre de entrada en la consifuración predeterminada  de Ajustes » Enlaces permanentes.

Mostrar Post Type en Página Frontal

Veamos un caso de uso más preciso, donde sólo queremos mostrar la nueva entrada personalizada a visitantes de tu sitio web en la página principal con este código.

function wpbody_post_type_admin() {
	if ( is_home() && $query->is_main_query() ) {
        $query->set( 'post_type', array( 'post', 'libros' ) );
		return $query;
	}
}
add_action( 'pre_get_posts', 'wpbody_post_type_admin' );

Básicamente lo que hace este código, es mostrar los libros publicados en el sitio web en la página frontal, y no es una consulta personalizada en el archivo donde está el código.

Final

El tema de crear custom post o entrada personaliza en WordPress, y cómo usar todas sus características, además de las consultas a la base de datos, es un tema extenso, que no se puede abarcar en un solo artículo. Has aprendido cómo crear una entrada personalizada para clasificar tu contenido especial y aislarlo del resto de entradas, con el objetivo de mantener una separación contexual y semántica.

En artículos futuros veremos casos más precisos del uso de post type o entrada personalizada donde se le saca todo el partido a esta gran herramienta, y que gracias a ella y a otras, WordPress se ha posicionado en la cima de gestores de contenido en el mundo de la web.

Si te gusta nuestro artículo, por favor compártelo y síguenos por google+, facebook y twitter para que obtengas contenido actualizado sobre optimización y seguridad de WordPress.

4 comentarios en «Cómo Crear <i>Custom Post Type</i> en WordPress»

  1. Cuando creo un producto en mi post type, le agrego taxonomia , categoría y etiqueta pero al darle vista previa y darle clik en la categoria me doy cuenta que no se archivan.
    En custom post type ui le di el valos » has archive» true
    .¿como lo soluciono que no se archivan?
    Gracias de antemano

    Responder
  2. ¡Hola! Una vez que creo productos en un Custom Product Type, ¿después habría alguna forma de sacarlos de ahí si el CPT está asociado al Tema?

    Me refiero a si decido cambiar de plantilla… ¿podría recuperarlos?

    Gracias!

    Responder
    • Hola Daniel

      Creo que te refieres a exportar los productos de un CPT que has creado o que viene incluido con tu tema,

      Para hacerlo te diriges a Herramientas → Exportar, y a partir de esa página eliges el CPT cuyo contenido quieres exportar.

      Luego para importarlos usa el plugin de WordPress Importer que viene en la sección de importar.

      Si te queda otra duda estamos atentos 🙂

      Responder

Deja un comentario

Si continúas utilizando este sitio significa que aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar