How To Add Custom Post Types To At A Glance Dashboard Widget In WordPress

The ‘At a glance’ widget on the WordPress dashboard is a handy tool which gives you a quick overview of your website. But, the problem with this widget is, by default it does not display the details of custom post types which are not the part of actual WordPress installation. However this issue can be easily resolved by adding a small amount of code to your functions.php file.

Useful Read: Remove “Collapse menu” link from WordPress Dashboard

Add Custom Post Types to At a Glance dashboard widget

To add custom post types to At A Glance dashboard widget copy the following code snippet to your functions.php file

//Add Custom Post Types To Your At A Glance Dashboard Widget
add_action( 'dashboard_glance_items', 'cpad_at_glance_content_table_end' );
function cpad_at_glance_content_table_end() {
    $args = array(
        'public' => true,
        '_builtin' => false
    $output = 'object';
    $operator = 'and';

    $post_types = get_post_types( $args, $output, $operator );
    foreach ( $post_types as $post_type ) {
        $num_posts = wp_count_posts( $post_type->name );
        $num = number_format_i18n( $num_posts->publish );
        $text = _n( $post_type->labels->singular_name, $post_type->labels->name, intval( $num_posts->publish ) );
        if ( current_user_can( 'edit_posts' ) ) {
            $output = '<a href="edit.php?post_type=' . $post_type->name . '">' . $num . ' ' . $text . '</a>';
            echo '<li class="post-count ' . $post_type->name . '-count">' . $output . '</li>';

Source: Stack Exchange


Leave a Comment.