Удивительно, но в WordPress до сих пор нет толковых нотисов. Приходится изгаляться. Вот один из моих костылей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class AzzNotice{ public $text, $option_name; public function __construct($value = "", $option_name = 'azz_notice'){ $this->option_name = $option_name; $current_value = get_option( $option_name ); if ( $current_value === false ) { add_option( $option_name, $value); $this->text = $value; }else{ $this->text = $current_value; if($value) update_option( $option_name, $value ); } } public function display_notice($delete_notice = true){ if(!$this->text) return; add_action( 'admin_notices', array( $this, 'display_notice_callback' ) ); if($delete_notice) delete_option($this->option_name); } public function display_notice_callback(){ echo "<div class=\"updated\"><p>{$this->text}</p></div>"; } } |
Для вывода нотисов в плагине пишем
1 2 |
$notice = new AzzNotice(); $notice->display_notice(); |
По умолчанию после 1 вывода нотис удаляется.
Чтобы задать нотис
1 |
new AzzNotice("Deleted"); |