Comenzar con WordPress

1

Desarrollo de Aplicaciones Robustas con WordPress

2

Curso Profesional de WordPress: Profundiza en Taxonomías y Categorías

3

Gestión y Personalización de Sitios Web con WordPress

4

Funcionamiento y características principales de WordPress

5

Estructura de Archivos para Vistas Dinámicas en PHP

6

Manejo de Hooks y Filtros en PHP para Extender Funcionalidades

7

Manejo de Librerías y Dependencias en HTML con Funciones Personalizadas

8

Instalación de Apache y PHP en Windows para Entorno Local

9

Instalación de WordPress en entorno local paso a paso

10

Gestión de WordPress: Navegación y Personalización Básica

11

Gestión de Usuarios y Configuración en WordPress

12

Gestión de Roles y Permisos de Usuario en WordPress

Armar estructura del Theme

13

Creación de un Tema Personalizado en WordPress con Visual Studio Code

14

Integración de Librerías CSS en Proyectos Web

15

Carga y manejo de librerías en temas de WordPress

16

Instalación y Personalización de Themes en WordPress

Contruir vistas

17

Incorporación de Menús en Temas de WordPress

18

Uso de Widgets en WordPress para Personalizar Contenido

19

Creación de Widgets en WordPress y su Inserción en el Footer

20

Gestión de Contenidos Personalizados en WordPress

21

Uso de Open Golpes para Gestión de Contenido Web

22

Creación de vistas personalizadas en WordPress con PHP y Gutenberg

23

Creación de Vistas Personalizadas en WordPress con PHP

24

Creación de la Página Principal en WordPress

Personalizar el Loop de WordPress

25

Creación de Post Type Personalizado en WordPress

26

Creación de un Loop Personalizado en WordPress

Extra

27

Selección de Plugins en WordPress: Compatibilidad y Mantenimiento

28

Instalación de Plugins en WordPress: Métodos y Herramientas

29

Creación de un Plugin de Modo Oscuro en WordPress

30

Creación de Página 404 Personalizada en WordPress

Cierre del curso

31

Fundamentos de WordPress: Creación de Catálogo de Productos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creación de Post Type Personalizado en WordPress

25/35
Recursos

¿Cómo personalizar un post type en WordPress?

El desarrollo de un sitio web en WordPress puede ser tanto un arte como una ciencia, y la posibilidad de personalizar y manejar los tipos de publicaciones (post types) es un elemento fundamental para proporcionar versatilidad y creatividad en la presentación del contenido. En este contexto, entender cómo crear y adaptar un post type personalizado se convierte en un conocimiento esencial para desarrolladores web.

¿Qué es un post type personalizado?

Los post types personalizados en WordPress permiten expandir la funcionalidad básica del sistema de gestión de contenido al crear tipos de contenido únicos, adaptados específicamente a las necesidades del proyecto. Mientras que los posts y las páginas son tipos de contenido predeterminados en WordPress, los desarrolladores pueden crear tipos de post adicionales, como "Productos", para organiza y mostrar de una manera distinta.

¿Cómo crear un post type personalizado?

Para dar vida a un post type personalizado, es esencial tener claro el esquema de funcionamiento de WordPress y entender algunos de sus componentes claves. El proceso básico es el siguiente:

  1. Crear la función:

    • En el archivo functions.php, define una nueva función.
    • Usa la función register_post_type() que requiere dos argumentos principales: el nombre singular de tu post type (por ejemplo, 'product') y una serie de configuraciones asociadas.
  2. Configurar el post type:

    • Configura diversas opciones como el nombre en singular, una descripción, y capacidades de soporte como editor, imagen destacada, revisiones, y estados de publicación.
    • Ejemplo de cómo iniciar esto en código:
    function productos_post_type() {
        $labels = array(
            'name' => 'Productos',
            'singular_name' => 'Producto',
            'menu_name' => 'Productos',
            'name_admin_bar' => 'Producto',
            // ...otros labels...
        );
    
        $args = array(
            'labels' => $labels,
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail', 'revisions'),
            'show_in_rest' => true, // Enable Gutenberg editor
            // ...otros args...
        );
    
        register_post_type('producto', $args);
    }
    add_action('init', 'productos_post_type');
    
  3. Personalizar la apariencia en el administrador:

    • Define la posición en el menú de administración:
      'menu_position' => 5,
      
    • Añade un ícono representativo en el menú usando menu_icon.
  4. Configurar enlaces permanentes:

    • Después de registrar un nuevo post type, se requiere un ajuste en los enlaces permanentes para asegurar que el sistema actualice correctamente la estructura con el nuevo tipo de contenido.
  5. Personalizar la vista previa en el tema:

    • Modifica los archivos de plantilla como single-[post_type].php para ajustar cómo se presentan los posts en el frontend.
    // Dentro de single-producto.php
    if (have_posts()) :
        while (have_posts()) : the_post();
            the_title('<h1>', '</h1>');
            the_content();
        endwhile;
    endif;
    

¿Qué hacer si Gutenberg no se muestra correctamente?

En ocasiones, al implementar un nuevo post type, el editor Gutenberg no aparece automáticamente. Esto puede deberse a configuraciones omitidas en register_post_type:

  • Asegúrate de que show_in_rest está establecido en true para habilitar el editor de bloques.

¿Cómo mejorar y adaptar el diseño del producto?

Para personalizar la vista de tus productos, puedes trabajar con el archivo de plantilla single-producto.php, ajustando los tamaños de las columnas, añadiendo estilos CSS personalizados, o modificando el HTML según el diseño deseado. Esta libertad creativa te permite adaptar el sitio web exactamente a las expectativas del cliente o negocio.

En resumen, crear y manejar post types personalizados es una habilidad crítica para cualquier desarrollador de WordPress, abriendo un abanico de posibilidades para organizar, personalizar y mostrar contenido de maneras únicas y eficientes. Experimenta, personaliza y lleva tus proyectos al siguiente nivel.

Aportes 75

Preguntas 25

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

![](

Aquí se resuelve mi duda anterior 😁, en lo personal creo que Gutenberg es un poco confuso. Como dato curioso, para que Guntenberg cree los bloques, usa componentes de React, por lo tanto podemos crear nuestros propios bloques personalizados.

Buen día,
Reto cumplido:

Vamos con el reto.

Comparto el reto.

Reto Cumplido. 😊😊😊

SI NO LES CARGA LA IMAGEN DESTACADA, revisen haber escrito “thumbnail” y no “thumbnails” en el array que está dentro del otro array… 😃

Comparto cómo quedó con un poco de estilos 😃

Archivo functions.php


function productos_type(){
    $labels = array(
        'name' => 'Productos',
        'singular_name' => 'Producto',
        'manu_name' => 'Productos',
    );

    $args = array(
        'label'  => 'Productos', 
        'description' => 'Productos de Platzi',
        'labels'       => $labels,
        'supports'   => array('title','editor','thumbnail', 'revisions'),
        'public'    => true,
        'show_in_menu' => true,
        'menu_position' => 5,
        'menu_icon'     => 'dashicons-cart',
        'can_export' => true,
        'publicly_queryable' => true,
        'rewrite'       => true,
        'show_in_rest' => true

    );    
    register_post_type('producto', $args);
}

add_action('init', 'productos_type');

Ingresar producto nuevo> Actualizar los enlaces permanentes> Agregar imagen al producto

aca documentacion de como crear un custom_post_type manualmente y que otros parametros existen. https://metabox.io/create-wordpress-custom-post-types/

Se olvidaron de colocar el enlace que mencionan…Pues con la cantidad de parámetros que se usan para generar nuestro postype es indispensable seguir la documentación.

a la hora de agregar la imagen destacada, no me sale la opcion en el panel y cuando agrego un “widget” de imagen me lo divide en una sola columna , alguien sabe a que se debe esto??

Yo estoy haciendo una web de camaras retro

como puedo hacer para tener diversos single, por ejemplo uno standard para el blog, pero asi tambine unos custom con otro layout diferente

Otro Tip: Podemos copiar el single.php que hemos creado aquí, y a la copia renombrarla como single-SLUG.php.

SLUG = El nombre con el que registramos el post en este caso producto

register_post_type('producto', $args);

Y así hacer la separación de diseño y no usar la misma vista y diferenciar! 👍🏼

Comparto mi sencillo trabajo, en donde no he podido solucionar el despliegue del menú como debería verse, cualquier sugerencia será vital, gracias!

El mio quedo asi!

esta chévere la clase, se que me falta aun mucho por mejorar y los colores no cuadran , pero cada dia se mejora y aprende mas

paso a paso vamos entendiendo el mundo wp, está genial…

Mi proyecto personal

feliz de poder crear mi theme a punta de código 😃

hola tengo el mismo codigo que el profesor pero no me carga el producto en la pagina

A mí no me sale la opción de imagen destacada. ¿Qué puede estar fallándome?

Súper! Siento que estoy aprendiendo mucho!

Tema oscuro:

Aunque más adelante creo que voy a añadir más opciones

Eso de escribir el nombre de la funciones en una mezcla entre castellano e ingles como “productos_type”, me parece una chanchada terrible y no profesional.

Excelente clases

![](https://static.platzi.com/media/user_upload/image-1ac6e742-7f40-4c73-a7fe-7a3ca4422cf6.jpg)
Aunque creo que es bueno hacer a mano nuestro primer tipo de contenido personalizado, normalmente, los desarrollares WordPress usan esta útil herramienta para generar el código necesario para crear un CPT: <https://generatewp.com/post-type/>

primero que me sale bien sin que me falte una coma ni una comilla simple 🤭

El reto me pareció genial! 😀

Que desesperante lo mal que tipea, ¿tiene mal el teclado o es ansioso?

Reto cumplido

Aquí esta el mio. Hice que el footer se quedará siempre en el pie de página.

Si tienen problema con el Permalink, deben darle acceso a Wordpress para modificar la carpeta.
Tiene que ir a la carpeta htdocts<“nombre-pagina”<wordpress.
En Mac, dan click derecho<Obtener información.
Luego, seleccionan el permiso de “Leer y escribir”, en la fila de Everyone.

Para que salga la opción de imágen destacada:
Agreguen la siguiente linea en el archivo functions.php después de la función init_template()

add_action('after_setup_theme', 'init_template');

Espero que les sirva

Aprovecho para preguntar como puedo quitar la info del footer ?

function productos_type(){

    $labels = array(
        'name' => 'Productos',
        'singular_name' => 'Producto',
        'menu_name' => 'Productos'
    );

    $fields = array(
        'label' => 'Productos',
        'description' => 'Productos de platzi',
        'labels' => $labels,
        'supports' => array('title','editor','thumbnail','revision'),
        'public' => true,
        'show_in_menu' => true,
        'menu_position' => 5,
        'menu_icon' => 'dashicons-cart',
        'can_export' => true,
        'publicy_queryable' =>  true,
        'rewrite'=>true,
        'show_in_rest' => true
    );

    register_post_type('producto', $fields);
}

add_action('init','productos_type');

No me aparece el submenu de Imagen destacada, ya que no me lee un Documento sino un Producto, alguna idea de por qué sucede esto?

Todo esto lo guardo con git o como?

Hola me pueden ayudar ?

function.php

Buenas.
No me está funcionando 😦
Agrego el custom type pero no se refleja en el dashboard y tampoco me muestra algún error

Reto cumplido :V:

(

A mí no me sale la opción de imagen destacada. ¿Qué puede estar fallándome?

Genial la clase pero al crear un custom post type uno tambien quiere que la plantilla sea diferente a las demás, espero que se vea eso mas adelante

Gracias por la clase. Todo muy claro.

https://gwst.eu

buena calse