X

Cómo añadir tipos de entradas de WordPress al widget “De un vistazo” del panel de control

Snippets by IsItWP

¿Estás buscando una forma de añadir tipos de entradas de WordPress al widget ‘De un vistazo’ del panel de control? Aunque probablemente exista un plugin para ello, hemos creado un rápido fragmento de código que puedes utilizar para añadir tipos de entrada de WordPress al widget ‘De un vistazo’ del salpicadero.

El panel de control de WordPress incluye un práctico widget que muestra de un vistazo una breve información sobre su sitio web – de forma bastante creativa, se titula “De un vistazo”. Por defecto, te muestra el número de entradas, páginas y comentarios de tu sitio, permitiéndote hacer clic para editar cada una de esas secciones si tienes los permisos adecuados.

Al crear un plugin con un tipo de entrada personalizado, a menudo es una buena idea añadir tu tipo de entrada al widget, ya que hace que las cosas sean más accesibles y, en general, más fáciles de usar para todos. Usando el siguiente fragmento puedes añadir cualquier tipo de entrada personalizada a este widget. Todo lo que necesitas hacer es reemplazar el array $post_types con un array de los tipos de post que quieres añadir al widget. Verás que el fragmento incluye una comprobación de seguridad para que sólo los usuarios con permiso para editar cada tipo de entrada puedan hacer clic y hacerlo.

Una vez que hayas añadido los tipos de entrada al widget, tendrán un icono circular junto a ellos de forma predeterminada. Pero puedes sustituirlo fácilmente por cualquiera de los dashicons disponibles en MP6 y WordPress 3.8+. Todo lo que necesitas es un simple CSS. El CSS proporcionado aquí sustituirá el círculo por el mismo icono que utiliza el tipo de entrada Entradas. Puedes reemplazar el atributo de contenido con uno de los iconos de este conjunto – sólo tienes que seleccionar el icono y copiar el CSS correspondiente desde el enlace proporcionado.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

add_filter( 'dashboard_glance_items', 'custom_glance_items', 10, 1 );

function custom_glance_items( $items = array() ) {

    $post_types = array( 'post_type_1', 'post_type_2' );
    
    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 ) ) {
                $items[] = sprintf( '<a class="%1$s-count" href="edit.php?post_type=%1$s">%2$s</a>', $type, $text ) . "n";
            } else {
                $items[] = sprintf( &apos;&lt;span class=&quot;%1$s-count&quot;&gt;%2$s&lt;/span&gt;&apos;, $type, $text ) . &quot;n&quot;;
            }
        }
    }
    
    return $items;
}

Añade el siguiente código a tu archivo CSS.

#dashboard_right_now a.post_type-count:before,
#dashboard_right_now span.post_type-count:before {
  content: "f109";
}

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 10 mejores plugins de tabla de WordPress para organizar datos y cómo crear un formulario emergente en WordPress.

Comentarios   Deja una respuesta

  1. the icon no work…

  2. the icon no work…

  3. the icon no work…

  4. the icon no work…

  5. the icon no work…

  6. the icon no work…

  7. the icon no work…

  8. the icon no work…

  9. the icon no work…

  10. the icon no work…

  11. the icon no work…

  12. the icon no work…

  13. the icon no work…

  14. the icon no work…

  15. the icon no work…

  16. the icon no work…

  17. the icon no work…

  18. the icon no work…

  19. the icon no work…

  20. the icon no work…

  21. the icon no work…

  22. the icon no work…

  23. the icon no work…

  24. the icon no work…

  25. Excellent snippet 🙂

    One suggestion for improvement. You can
    make the text displayed in the ‘at a glance’ widget link to the page
    where the custom post types are displayed; just like normal posts or
    pages.

    Simply change (first occurence):

    $items[] = sprintf( ‘%2$s’, $type, $text ) . “n”;

    To this:
    $items[] = sprintf( ‘%2$s’, $type, ‘<a href=”‘ . admin_url() . ‘edit.php?post_type=’ . $type . ‘”>’ . $text . ‘‘ ) . “n”;

    It will even work within the foreach loop; still allowing you to define the custom post types in the first variable of the function.

    Thanks man!!

    1. I think you forgot to close your tag…

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!