Skip to content

brainstormforce/astra-notices

Repository files navigation

BSF Admin Notices

Easily Create Admin Notices.

How to use this library

  1. Download the latest release from the tag as shown in the screenshot. Download Package
  2. Require the file class-bsf-admin-notices.php in your project.
  3. Register your notices on action admin_init by calling method BSF_Admin_Notices::add_notice()

Default Parameters

array(
    'id'                         => '',      // Required, Notice ID. Id can be like: `bsf-notices-id-<$pluginslug>`.
    'type'                       => 'info',  // Optional, Notice type. Default `info`. Expected [info, warning, notice, error].
    'message'                    => '',      // Optional, Message.
    'show_if'                    => true,    // Optional, Show notice on custom condition. E.g. 'show_if' => if( is_admin() ) ? true, false, .
    'repeat-notice-after'        => '',      // Optional, Dismiss-able notice time. It'll auto show after given time.
    'display-notice-after'       => false,      // Optional, Dismiss-able notice time. It'll auto show after given time.
    'class'                      => '',      // Optional, Additional notice wrapper class.
    'priority'                   => 10,      // Priority of the notice.
    'display-with-other-notices' => true,    // Should the notice be displayed if other notices are being displayed from BSF_Admin_Notices.
)

Example Usage

add_action(
	'admin_init',
	function() {
		BSF_Admin_Notices::add_notice(
			array(
				'id'                         => 'your-notice-id',
				'type'                       => '',
				'message'                    => sprintf(
					'<div class="notice-image">
						<img src="%1$s" class="custom-logo" alt="Sidebar Manager" itemprop="logo"></div> 
						<div class="notice-content">
							<div class="notice-heading">
								%2$s
							</div>
							%3$s<br />
							<div class="astra-review-notice-container">
								<a href="%4$s" class="astra-notice-close astra-review-notice button-primary" target="_blank">
								%5$s
								</a>
							<span class="dashicons dashicons-calendar"></span>
								<a href="#" data-repeat-notice-after="%6$s" class="astra-notice-close astra-review-notice">
								%7$s
								</a>
							<span class="dashicons dashicons-smiley"></span>
								<a href="#" class="astra-notice-close astra-review-notice">
								%8$s
								</a>
							</div>
						</div>',
					$image_path,
					__( 'Hello! Seems like you have used Header Footer Elementor to build this website — Thanks a ton!', 'header-footer-elementor' ),
					__( 'Could you please do us a BIG favor and give it a 5-star rating on WordPress? This would boost our motivation and help other users make a comfortable decision while choosing the Header Footer Elementor.', 'header-footer-elementor' ),
					'https://wordpress.org/support/plugin/header-footer-elementor/reviews/?filter=5#new-post',
					__( 'Ok, you deserve it', 'header-footer-elementor' ),
					MONTH_IN_SECONDS,
					__( 'Nope, maybe later', 'header-footer-elementor' ),
					__( 'I already did', 'header-footer-elementor' )
				),
				'repeat-notice-after'        => MONTH_IN_SECONDS,
				'display-notice-after'       => 1296000, // Display notice after 15 days.
				'priority'                   => 18,
				'display-with-other-notices' => false,
			)
		);
	}
);

Also check the example of how this is used in the Astra Theme.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors