No tienes acceso a esta clase

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

Creando un Custom Post Type

10/13
Recursos

Aportes 10

Preguntas 8

Ordenar por:

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

Post-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");

Estos cursos de wp no me han gustado mucho!!
😕

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.

  • Código para crear un Post type de “producto” functions.php
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('
    ',$args);
}

add_action("init","plz_add_custom_post_type");


Plugin para crear CPT: https://wordpress.org/plugins/custom-post-type-ui/

Les comparto este generado de código para WordPress en el cual también entran los posts type https://generatewp.com/

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:

https://developer.wordpress.org/reference/functions/get_post_type_labels/#source

https://developer.wordpress.org/reference/functions/register_post_type/#menu_icon

https://developer.wordpress.org/resource/dashicons/#cart

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’.

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.

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`  `