예제 #1
0
 /**
  * Add items to admin bar
  *
  * @param \WP_Admin_Bar $wp_admin_bar
  */
 public function add_items(&$wp_admin_bar)
 {
     // get Notifications
     $notifications = wp_notification_center()->service('admin_notice_handler')->get_notices();
     // Add top menu
     $wp_admin_bar->add_menu(array('id' => 'wp-notification-center', 'parent' => 'top-secondary', 'title' => sprintf(__('Notifications %s', 'wp-notification-center'), '<span class="wpnc-count">' . count($notifications) . '</span>'), 'href' => false));
     // loop
     if (count($notifications) > 0) {
         $i = 0;
         /** @var Notification $notification */
         foreach ($notifications as $notification) {
             $item_classes = implode(' ', array_map(function ($type) {
                 return 'wpnc-' . $type;
             }, $notification->get_types()));
             $wp_admin_bar->add_menu(array('id' => 'wp-notification-center-item-' . $i, 'parent' => 'wp-notification-center', 'title' => $notification->get_message(), 'href' => false, 'meta' => array('class' => $item_classes)));
             $i++;
         }
     }
 }
function __load_wp_notification_center()
{
    // fetch instance and store in global
    return wp_notification_center();
}