Contenido del curso
Armar estructura del Theme
Personalizar el Loop de WordPress
Cierre del curso
Creando un Custom Post Type
Contenido del curso
Creando un Custom Post Type
Jesús Velázquez Jiménez
studentJulián Andrés Loaiza Ospina
studentAndrés Vega
studentAldo Miguel Ortiz Parodi
studentCésar Luis Amundaray Rodríguez
studentCarlos Rubén Díaz Gutiérrez
studentCésar Luis Amundaray Rodríguez
studentErmilo Joel Dorantes Uc
studentCristian Ramanzin
teacherErmilo Joel Dorantes Uc
studentfermin martin
studentFreddy Rafael Peñalver Nuñez
studentRodrigo Alles
studentOsvaldo Del Rosario
studentFacundo Cruz A.
studentJorge Paiva
studentMIGUEL ANGEL GAONA MENDEZ
studentMIGUEL ANGEL GAONA MENDEZ
studentFarid Krayem Pineda
studentJonathan Alfonso
studentMarco Troconis
studentPost-type. Gestionar el contenido del sitio web. Generar un custom post-type Nobrar los post-type en singular es un estándar.
function plz_add_custom_post_type(){ $labels = array( 'name' => 'Producto', 'singular_name' => 'Producto', 'all_items' => 'Todos los productos', 'add_new' => 'Añadir producto' ); $args = array( 'labels' => $labels, 'description' => 'Productos para listar en un catálogos.', 'public' => true, 'publicly_queryable' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'producto' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'author', 'thumbnail' ), 'taxonomies' => array('category'), 'show_in_rest' => true, 'menu_icon' => 'dashicons-cart' ); register_post_type('producto',$args); } add_action("init","plz_add_custom_post_type");
Custom post type
Los Custom Post Types son tipos de entrada personalizados que puedes agregar a tu WordPress.
Cabe decir que los CPT deben ser implementados en plugins no en los temas.
functions.phpfunction plz_add_custom_post_type(){ $labels = array( 'name' => 'Producto', 'singular_name' => 'Producto', 'all_items' => 'Todos los productos', 'add_new' => 'Añadir producto' ); $args = array( 'labels' => $labels, 'description' => 'Productos para listar en un catálogos.', 'public' => true, 'publicly_queryable' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'producto' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'author', 'thumbnail' ), 'taxonomies' => array('category'), 'show_in_rest' => true, 'menu_icon' => 'dashicons-cart' ); register_post_type(' ',$args); } add_action("init","plz_add_custom_post_type");
Plugin para crear CPT:
Les comparto este generado de código para WordPress en el cual también entran los posts type
10. Creando un Custom Post Type
Como convención los Custom Post Types (CPT), deben llevar un nombre en singular, por ejemplo producto.
Comparto el código que hicimos en clase en el archivo functions.php:
function arudope_add_custom_post_type(){ $labels = array( 'name' => 'Producto', 'singular_name' => 'Producto', 'all_items' => 'Todos los productos', 'add_new' => 'Añadir producto', ); $args = array( 'labels' => $labels, 'description' => 'Productos para listar en un catálogo.', 'public' => true, 'publicly_queryable' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'producto' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'author', 'thumbnail' ), 'taxonomies' => array('category'), 'show_in_rest' => true, 'menu_icon' => 'dashicons-cart' ); register_post_type('producto', $args); } add_action("init", "arudope_add_custom_post_type");
Refencias documentación:
El name debe estar en plural: Productos.
name – General name for the post type, usually plural. The same and overridden by $post_type_object->label. Default is ‘Posts’ / ‘Pages’.
¿La opción de Entradas para un blog también es un custom post type?
Más bien es un post type, porque ya viene por defecto. Un Custom Post Type es uno creado por nosotros que no viene por defecto en WordPress.
No me está respetando el name Producto del Post Type
¡Hola! ¿Puedes pegarme aquí el código con el que registras el post type?
Tiempo atrás encontré el error, gracias
Extensión para instalar Lorem Ipsum en Chrome link
dentro de este recurso: https://generatewp.com/post-type/ también se pueden apreciar las diferentes características del custom post type
Apuntes
Creando un Custom Post Type en WordPress
Un Custom Post Type en WordPress es una forma de crear tipos de contenido personalizados, como un portafolio o un producto. A continuación, se explican los pasos para crear un Custom Post Type en un tema de WordPress.
register_post_type
Para crear un Custom Post Type en WordPress, se utiliza la función register_post_type en el archivo functions.php del tema.
function my_theme_custom_post_type() { $labels = array( 'name' => __( 'Productos', 'my-theme' ), 'singular_name' => __( 'Producto', 'my-theme' ), 'add_new' => __( 'Agregar Nuevo', 'my-theme' ), 'add_new_item' => __( 'Agregar Nuevo Producto', 'my-theme' ), 'edit_item' => __( 'Editar Producto', 'my-theme' ), 'new_item' => __( 'Nuevo Producto', 'my-theme' ), 'view_item' => __( 'Ver Producto', 'my-theme' ), 'search_items' => __( 'Buscar Productos', 'my-theme' ), 'not_found' => __( 'No se encontraron Productos', 'my-theme' ), 'not_found_in_trash' => __( 'No se encontraron Productos en la papelera', 'my-theme' ), 'parent_item_colon' => '', 'menu_name' => __( 'Productos', 'my-theme' ) ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'productos' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ) ); register_post_type( 'producto', $args ); } add_action( 'init', 'my_theme_custom_post_type' );
En este ejemplo, se crea un Custom Post Type llamado producto. Se definen las etiquetas de los campos, la visibilidad y el soporte de características. También se definen las opciones de reescritura de URL y la ubicación en el menú de administración.
add_action("init")
Para asegurarse de que el Custom Post Type se registre correctamente, se utiliza la función add_action para llamar a la función my_theme_custom_post_type en el gancho init.
add_action( 'init', 'my_theme_custom_post_type' );
Conclusión
Crear un Custom Post Type en WordPress es una tarea sencilla que se puede realizar utilizando la función register_post_type y el gancho init. Al agregar el código correspondiente en el archivo functions.php, se puede crear un tipo de contenido personalizado en el sitio web de WordPress. Al utilizar Custom Post Types, se pueden agregar fácilmente nuevos tipos de contenido y personalizar aún más el sitio web.
tengo entendido que no es una buena practica crear CPT para un theme esto se hace mejor en un plugins, alguien que me oriente por favor.
ola me da con subrayado rojo lo que esta en :register_post_type
Consulta: Por temas de performance, conviene almacenar data y recuperarla en estructuras de los CPT o sería mejor emplear tablas normalizadas cabecera/detalles ?
Profe. aqui le dejo la captura para que me diga porque no puedo poner el parrafo del producto del refrigerador, como lo soluciono
Profe. Cristian he segudi el curso al pie como lo esta dando y cuando pongo el nuevo producto solo me deja ponerle el title, cuando escojo el parrafo me marca un error
Fallo al publicar No se ha encontrado ninguna ruta que coincida con la URL y el método de la solicitud.
Me marca ese error al tratar de publicar. ¿Alguna idea?
¿Cómo hago para solicitar el el custom type un dato específico, que no sea el title ni los labels, por ejemplo, un precio? Para luego poder acceder a el y mostrarlo en la vista previa del producto.
Si alguien tiene problema para poder cargar la imagen del producto, es decir habilitar el Featuring Imagen. prueben con esto:
add_theme_support('post-thumbnails');
add_post_type_support( 'producto', 'thumbnail' );
Antes de la funcion