run(); } run_wpdirectorykit(); /* * Add admin notify * @param (string) $key unique key of notify, prefix included related plugin * @param (string) $text test of message * @param (function) $callback_filter custom function should be return true if not need show * @param (string) $class notify alert class, by default 'notice notice-error' * @return boolen true */ function wdk_notify_admin ($key = '', $text = 'Custom Text of message', $callback_filter = '', $class = 'notice notice-error') { $key = 'wdk_notify_'.$key; $key_diss = $key.'_dissmiss'; $wdk_notinstalled_admin_notice__error = function () use ($key_diss, $text, $class, $callback_filter) { global $wpdb; $user_id = get_current_user_id(); if (!get_user_meta($user_id, $key_diss)) { if(!empty($callback_filter)) if($callback_filter()) return false; $message = ''; $message .= $text; printf('
', esc_html($class), ($message)); // WPCS: XSS ok, sanitization ok. } }; add_action('admin_notices', function () use ($wdk_notinstalled_admin_notice__error) { $wdk_notinstalled_admin_notice__error(); }); $wdk_notinstalled_admin_notice__error_dismissed = function () use ($key_diss) { $user_id = get_current_user_id(); if (isset($_GET[$key_diss])) add_user_meta($user_id, $key_diss, 'true', true); }; add_action('admin_init', function () use ($wdk_notinstalled_admin_notice__error_dismissed) { $wdk_notinstalled_admin_notice__error_dismissed(); }); return true; }