在自定义帖子类型中显示带有待决项目计数的徽章

时间:2020-05-21 作者:user8463989

我的代码正在运行,但我不确定这是否是正确的方法。基本上,当用户将记录添加到自定义帖子类型时,它会直接转到挂起状态,需要管理员来发布它。我想让管理员用户知道他们的记录,以便他们通过显示带有数字的红色徽章来批准,就像插件需要更新时一样。

如前所述,这是可行的,但也许有比运行自定义SQL查询更好、更多的wordpress方法?

add_action( \'admin_menu\', \'add_user_menu_bubble\' );

function add_user_menu_bubble() {
   global $wpdb;
   global $menu;

   $memo_count = $wpdb->get_var(" SELECT COUNT(*) FROM $wpdb->posts WHERE `post_status` = \'pending\' AND `post_type` = \'memo\'");

  if ( $memo_count ) {

    foreach ( $menu as $key => $value ) {

      if ( $menu[$key][2] == \'edit.php?post_type=memo\' ) {

        $menu[$key][0] .= \' <span class="update-plugins">\' . $memo_count . \'</span>\';

        return;
      }
    }
  }
}

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

确实有一个WordPress函数可以计算帖子数:wp_count_posts(). 因此,您可以执行以下操作:

$memo_count = wp_count_posts( \'memo\' )->pending;