# give/4.16.8.1/src/Campaigns/Actions/AddNewBadgeToAdminMenuItem.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.8.1. 46 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.8.1/code/src/Campaigns/Actions/AddNewBadgeToAdminMenuItem.php
- Raw: https://pluginprobe.com/plugins/give/4.16.8.1/raw/src/Campaigns/Actions/AddNewBadgeToAdminMenuItem.php
- Modified: 2025-03-31T19:17:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.8.1/code/src/Campaigns/Actions/AddNewBadgeToAdminMenuItem.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Actions;

/**
 * @since 4.0.0
 */
class AddNewBadgeToAdminMenuItem {
    /**
     * @return void
     */
    public function __invoke()
    {
        // only continue if in admin
        if (!is_admin()) {
            return;
        }

        // only show badge for existing users who have upgraded from a version prior to 4.0.0
        if (version_compare((string)get_option('give_version_upgraded_from', '4.0.0'), '4.0.0', '>=')) {
            return;
        }

        // only show badge if not dismissed
        if (get_option('givewp_new_notification_campaigns_dismissed', false) !== false) {
            return;
        }

        // add "NEW" badge to the GiveWP menu item
         add_action( 'admin_menu', function() {
            global $menu;
            array_walk($menu, static function (&$item) {
                if ($item[0] === 'GiveWP') {
                    $title = $item[0];
                    $item[0] = sprintf('<span>%s </span><span class="update-plugins">%s</span>', $title, __('NEW', 'give'));
                }
            });
        });

         // dismiss the notice when visiting the campaigns list page
         if (isset($_GET['page']) && $_GET['page'] === 'give-campaigns') {
            update_option('givewp_new_notification_campaigns_dismissed', true);
         }
    }
}

```
