WordPress Directo
  • Tutoriales
  • Plugins
  • Plantillas
  • Optimización
  • SEO
  • WordPress Hosting
No Result
View All Result
WordPress Directo
  • Tutoriales
  • Plugins
  • Plantillas
  • Optimización
  • SEO
  • WordPress Hosting
No Result
View All Result
WordPress Directo
No Result
View All Result

Cómo crear un custom post type en WordPress

Jorge López by Jorge López
6 octubre 2015
in Código fuente
Reading Time: 5 mins read
1

A partir de la versión 3, en WordPress es posible crear distintos tipos de posts aparte de las entradas, páginas y menús. Si te has visto en la necesidad de crear otros tipos y no sabes cómo, te indicamos aquí como crear un custom post type en WordPress.

En WordPress, como ya sabéis, hay distintos tipos de posts nativos. Estos son los propios posts o entradas (como esta misma), las páginas de información, archivos adjuntos (imágenes y demás) y los elementos del menú. Todos estos elementos se almacenan en la misma tabla de la base de datos de WordPress, la tabla wp_posts. Dentro de esa tabla hay un campo llamado post_type el cual determina el tipo de contenido. Es decir, el campo indica si el registro es un artículo, es una página, es un archivo o bien es un menú. A menudo, en nuestro WordPress queremos diferenciar los contenidos que ofrecemos en él, y es posible que las categorías se nos queden cortas. Ahí es donde entran en juego los custom posts types, los tipos de posts personalizados que nosotros mismos podemos crear.

Crear un custom post type en WordPress - Programando
Fuente: Wikipedia

Imaginemos que tenemos que desarrollar una web en WordPress en la que hacemos reseñas de libros y también artículos de opinión sobre literatura en general. Queremos, para que el cliente se aclare mucho mejor, tener una sección para las entradas, donde irán los artículos de opinión, y otra para los libros, donde se escribirán las reseñas, en el menú lateral dentro del backoffice. También queremos que en la parte pública, el contenido de los libros y el de los artículos se muestre de manera distinta. Por supuesto, los artículos se escribirán dentro de la sección Entradas, pero, ¿qué hacemos con los libros? Para ello tendremos que hacer uso de los custom posts types. Pero, ¿cómo crear un custom post type en WordPress? Es muy sencillo…

Crear un custom post type

Con los custom posts types es posible crear todo lo que se te ocurra, desde una sección en la que alberguemos un registro de videojuegos, hasta nuestro propio portfolio. Volviendo al ejemplo que planteamos en el párrafo anterior, para crear un custom post type para las reseñas de libros que tendrá la web debemos editar el fichero functions.php dentro del directorio del theme que estemos utilizando. Es decir, tendremos que trastear con el código fuente de WordPress.

Artículos relacionados

WordPress 10 años entre nosotros

27 enero 2013

7 shortcodes de WordPress que te salvarán de más de un apuro

14 mayo 2017

Estrategias efectivas contra el spam en comentarios: La técnica honeypot en WordPress

18 diciembre 2024

8 códigos para extender las funcionalidades de WordPress

11 octubre 2017

A continuación te dejamos el ejemplo de cómo crear un nuevo tipo llamado ‘Libros’. Este código lo incluiríamos dentro del archivo functions.php.

add_action('init', 'libro_register');
 
function libro_register() {
 
    $labels = array(
        'name' => __( 'Libros' ),
        'singular_name' => __( 'Libro' ),
        'add_new' => __( 'Añadir Nuevo' ),
        'add_new_item' => __( 'Añadir nuevo Libro' ),
        'edit_item' => __( 'Editar Libro' ),
        'new_item' => __( 'Nuevo Libro'),
        'view_item' => __( 'Ver Libro'),
        'search_items' => __( 'Buscar Libro'),
        'not_found' =>  __('No se encontró nada'),
        'not_found_in_trash' => __('No se encontró nada en la papelera'),
        'parent_item_colon' => ''
    );
 
    $args = array(
        'labels' => $labels,
        'menu_icon' => 'URLDELAIMAGEN',
        'public' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title','thumbnail','editor')
      ); 
 
    register_post_type( 'libros' , $args );
}

Paso a explicaros este código paso a paso, para que todos, independientemente del nivel que tengamos programando, lo podáis entender. Como véis en el add_action(), indico a WordPress que al iniciarse se ejecute la función libro_register() que es la que utilizaremos para crear el custom post type para los libros.

Crear un custom post type en WordPress - Programando
Fuente: Wikipedia

Al final de la función de libro_register() veréis que se llama a la función de la que os hemos hablado antes: register_post_type() en la que indicamos que el nuevo tipo se llamará ‘libros’ y le pasamos unos parámetros dentro del array $args.

¿Para qué sirve cada argumento?

El array $args contiene los argumentos que se le pasarán a la función register_post_type() para indicarle cómo debe comportarse en nuestro WordPress. A continuación os explico para qué sirve cada uno de los argumentos:

  • labels: En labels indicaremos los diferentes textos que se mostrarán dentro del backoffice. Para ello nos ayudamos de otro array que contiene todos los textos llamado $labels. Os aconsejo que copieis tal cual el array $labels (eso sí, cambiad los textos) para que no se os olvide ningún texto estático.
  • menu_icon: La url de la imagen que queremos usar como icono. También podemos usar los de la librería Dashicons, mucho más adaptados al estilo de WordPress.
  • public: Con el parámetro public indicaremos si queremos que el custom type post sea de acceso público o bien de uso interno. Si es de acceso público, lo dejaremos en true. Sin embargo si queremos que sea privado, lo dejaremos en false.
  • rewrite: Se define si se va a hacer uso de los rewrites para generar permalinks en el contenido que generemos con este tipo de posts.
  • hierarchical: Con este parámetro indicaremos a la función register_post_type() si este tipo de post se puede anidar. Para que me entendáis, las páginas de WordPress se pueden anidar indicando que una es hija de otra o viceversa. Por regla general, las entradas no suelen anidarse pero si necesitáis un contenido jerárquico, poned este parametro a true.
  • menu_position: Con menu_position indicaremos qué posición queremos que tenga este custom post type dentro de las secciones del backoffice de WordPress.
  • supports: Un array con los distintos campos que queremos que el editor de este tipo de posts incorpore. En nuestro caso le hemos indicado que queremos que aparezca el título, la imagen destacada y el editor de texto, por supuesto.

Cuando tengamos el archivo functions.php con nuestro código personalizado insertado, solo queda guardarlo y subirlo al FTP en la misma ubicación donde estaba antes. Al entrar en nuestro WordPress, veremos una nueva sección llamada ‘Libros’ con la que podremos interactuar como en cualquier otro tipo de post.

Esperamos que con este tutorial seas capaz de crear un custom post type por tu cuenta. De todas maneras, si te ha surgido alguna duda o no eres capaz de hacer algo de lo que hemos descrito aquí, por favor, coméntanoslo.

Tags: como crear un custom post typecrear custom post typecustom post typetipos de posttutorial
ShareTweetSendSharePin
Jorge López

Jorge López

Soy programador web y me gusta mucho el diseño gráfico, la fotografía y todo lo relacionado con las nuevas tecnologías. En mis ratos libres me encanta dibujar y escuchar música. ¡No podría vivir sin ella! Aparte soy un friki de las series...las devoro

Te puede interesar...

Noticias

Cómo eliminar la etiqueta hreflang en URLs con la meta tag noindex en WordPress

4 mayo 2025

Eliminar la etiqueta hreflang en páginas de WordPress que contienen la meta etiqueta noindex...

Código fuente

Programación Orientada a Objetos en PHP: Transformando el Desarrollo en WordPress

27 febrero 2025

La Programación Orientada a Objetos (OOP, por sus siglas en inglés) es un paradigma...

Plantillas

Uso de Propiedades Personalizadas de CSS con theme.json en WordPress

18 febrero 2025

El archivo theme.json en WordPress ha revolucionado el desarrollo de temas al permitir una...

Código fuente

Guía Completa de la API de Bloques en WordPress: Extiende las Capacidades del Editor

13 febrero 2025

La API de Bloques en WordPress es el principal mecanismo mediante el cual los...

Comments 1

  1. Enrique says:
    10 años ago

    Muy buen aporte!! la verdad me sirvio de mucho, ya llevaba mucho tiempo con este asunto, asi que sin duda me salvo la vida 😉

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

No Result
View All Result
Plugin Imagify, optimizar imágenes
wordpress hosting NVME
Elegant Themes WordPress
elementor editor plugin




Últimos artículos

Automattic reduce sus contribuciones a WordPress y acusa a WP Engine de crear desequilibrios en el ecosistema

8 febrero 2025

Hello Elementor: La plantilla ideal para WordPress

18 diciembre 2024

Redis Object Cache: Optimización de WordPress con Redis en Linux

18 diciembre 2024

Los 10 errores comunes al empezar con WordPress

18 diciembre 2024

Cómo instalar Perl en un servidor desplegado en Clouding

20 julio 2021
WordPress Directo

WPDirecto.com es una revista especializada en WordPress y WooCommerce que ofrece una amplia gama de recursos, incluyendo tutoriales, análisis de plugins y plantillas, consejos de optimización y estrategias de SEO, para ayudar a los usuarios a mejorar y personalizar sus sitios web, manteniéndolos informados sobre las últimas novedades y tendencias en el mundo de WordPress.

Menu

  • Tutoriales
  • Plugins
  • Plantillas
  • Optimización
  • SEO
  • WordPress Hosting

Información

WPDirecto es un medio de Medios y Redes:
  • Artículos patrocinados
  • Servicio de diseño web
  • Contacto
  • Acerca de MyR
  • Política de privacidad y cookies
  • Aviso Legal

© 1995-2025 Color Vivo Internet, SLU (Medios y Redes Online).. Otros contenidos se cita fuente. Infraestructura cloud servidores dedicados de Stackscale.

No Result
View All Result
  • Tutoriales
  • Plugins
  • Plantillas
  • Optimización
  • SEO
  • WordPress Hosting

© 1995-2025 Color Vivo Internet, SLU (Medios y Redes Online).. Otros contenidos se cita fuente. Infraestructura cloud servidores dedicados de Stackscale.