LucusHost, el mejor hosting

Cómo mostrar custom post types en el escritorio de WordPress

Publicado el 3 de julio de 2020
Actualizado el 6 de octubre de 2021

Una de las formas más cómodas de visualizar la cantidad de entradas personalizadas creadas en nuestro sitio web es incluirlas en el apartado “De un vistazo” del escritorio de WordPress.

Las entradas personalizadas o Custom Post Types (CPT) en WordPress permiten mostrar diferentes tipos de contenidos adaptados a nuestras necesidades.

Los CPT, junto con los campos personalizados, son las herramientas más útiles para organizar el contenido de un sitio WordPress. El inconveniente es que no suelen crear una interfaz muy amigable y tienden a centrarse en código y no tanto en presentación.

Mostrar la cantidad de entradas personalizadas en el apartado “De un vistazo”

Una de las formas más cómodas de visualizar la cantidad de entradas personalizadas creadas en nuestro sitio web es incluirlas en el apartado “De un vistazo” del escritorio de WordPress.

Este widget de escritorio muestra la cantidad de entradas y páginas creadas en nuestro sitio web, enlazando además con su apartado.

Esto puede ser muy interesante para llevar un control del contenido creado en nuestro sitio web.

CPT mostrados en el escritorio de WordPress
CPT mostrados en el escritorio

En el ejemplo se muestran los cinco tipos de contenido personalizado que uso en este sitio.

Para mostrar tus propios custom post (CPT) sólo tienes que editar la línea de la función que contiene el array de elementos que se quieren mostrar:

$post_types = array('servicio','snippet','taller','solucion','tutorial' );

Sustituyéndolos por los que hayas creado en ti sitio web.

<?php
/*
 * Mostrar CPT en escritorio de WordPress
*/
add_filter( 'dashboard_glance_items', 'mostrar_cpt_escritorio', 10, 1 );
function mostrar_cpt_escritorio( $items = array() ) {
    //indicar el/los custom post types
    $post_types = array('servicio','snippet','taller','solucion','tutorial' );
    foreach( $post_types as $type ) {
        if( ! post_type_exists( $type ) ) continue;
        $num_posts = wp_count_posts( $type );
        if( $num_posts ) {
            $published = intval( $num_posts->publish );
            $post_type = get_post_type_object( $type );
            $text = _n( '%s ' . $post_type->labels->singular_name, '%s ' . $post_type->labels->name, $published, 'your_textdomain' );
            $text = sprintf( $text, number_format_i18n( $published ) );

            if ( current_user_can( $post_type->cap->edit_posts ) ) {
            $output = '<a href="edit.php?post_type=' . $post_type->name . '">' . $text . '</a>';
                echo '<li class="post-count ' . $post_type->name . '-count">' . $output . '</li>';
            } else {
            $output = '<span>' . $text . '</span>';
                echo '<li class="post-count ' . $post_type->name . '-count">' . $output . '</li>';
            }
        }
    }
    return $items;
}
/* ---------------  Fin Mostrar CPT en escritorio ------------------ */
Cómo mostrar custom post types en el escritorio de WordPress

Algunos de los enlaces de este artículo pueden corresponder a programas de afiliación de herramientas que uso, he probado o sé que son de utilidad.

El uso de mis enlaces de afiliado nunca aumenta el precio para ti, pero me dan una pequeña comisión que me permite seguir generando más y mejor contenido.

Por ejemplo, si compras en Amazon, puedes ayudarme haciéndolo con mi enlace de referencia:
https://olladiscoduro.es/amazon

¡Gracias de antemano por tu apoyo!