File: //proc/thread-self/cwd/wp-content/plugins/automatewoo/includes/AdminNotices/AbstractAdminNotice.php
<?php
namespace AutomateWoo\AdminNotices;
use AutomateWoo\AdminNotices;
defined( 'ABSPATH' ) || exit;
/**
 * Class AbstractAdminNotice
 *
 * @since 5.1.3
 */
abstract class AbstractAdminNotice implements AdminNoticeInterface {
	/**
	 * Get the unique notice ID.
	 *
	 * @return string
	 */
	abstract protected function get_id(): string;
	/**
	 * Init the notice, add hooks.
	 */
	public function init() {
		/**
		 * Add notice output hook.
		 *
		 * @see \AutomateWoo\AdminNotices::output_notices
		 */
		add_action( 'automatewoo/admin_notice/' . $this->get_id(), [ $this, 'output' ] );
	}
	/**
	 * Adds the notice to the current admin notices.
	 */
	protected function add_notice() {
		AdminNotices::add_notice( $this->get_id() );
	}
}