bainternet
3/29/2012 - 3:23 PM

Add custom post types and taxonomies to the WP Right Now dashboard widget

Add custom post types and taxonomies to the WP Right Now dashboard widget

/* Dashboard Right Now meta box
------------------------------------------------------------ */

#dashboard_right_now p.dashboard_right_now_sub {
  border-bottom: #ececec 1px solid;
  margin: 15px 5px 0;
  padding: 0 0 5px;
  position: static;
}
<?php
add_action( 'right_now_content_table_end', 'cor_right_now_content_table_end' );
/**
 * Add custom post types and taxonomies to the WP Right Now dashboard widget.
 */
function cor_right_now_content_table_end() {
  $args = array(
    'public' => true,
    '_builtin' => false,
  );
  $output   = 'object';
  $operator = 'and';
  echo '
  </table>
  <p class="sub dashboard_right_now_sub">' . __( 'About' ) . '</p>
  <table>
  ';
  $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' ) ) {
      $num  = '<a href="edit.php?post_type=' . $post_type->name . '">' . $num . '</a>';
      $text = '<a href="edit.php?post_type=' . $post_type->name . '">' . $text . '</a>';
    }
    echo '<tr><td class="first b b-' . $post_type->name . '">' . $num . '</td>';
    echo '<td class="t ' . $post_type->name . '">' . $text . '</td></tr>';
  }
  $taxonomies = get_taxonomies( $args, $output, $operator );
  foreach ( $taxonomies as $taxonomy ) {
    $num_terms = wp_count_terms( $taxonomy->name );
    $num = number_format_i18n( $num_terms );
    $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name, intval( $num_terms ) );
    if ( current_user_can( 'manage_categories' ) ) {
      $num  = '<a href="edit-tags.php?taxonomy=' . $taxonomy->name . '">' . $num . '</a>';
      $text = '<a href="edit-tags.php?taxonomy=' . $taxonomy->name . '">' . $text . '</a>';
    }
    echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>';
    echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>';
  }
}