WordPress.org

Make WordPress Core

Ticket #12738: plugin.diff

File plugin.diff, 1.9 KB (added by john316media, 7 years ago)
  • wp-includes/plugin.php

     
    772772        }
    773773}
    774774
     775/**
     776 * Plugin API Function to add a message in admin_notices using standard formatting.
     777 * Plugin author calls this function passes is tthe type ('updated' or 'error') and
     778 * the message, which is added to a global array for use by _display_admin_notices
     779 * which is hooked into admin_notices and echo's out all notices in the array.
     780 *
     781 * @package WordPress
     782 * @subpackage Plugin
     783 * @access public
     784 * @link http://core.trac.wordpress.org/ticket/12738
     785 *
     786 * @global array $admin_notices
     787 * @param string $type Identify's the type of message being displayed, should be either 'updated' or 'error'.
     788 * @param string $message String to store the message contents, can use HTML.
     789 * @return bool True on success, False on fail/error
     790*/
     791function add_admin_notice($type = 'updated', $message = '') {
     792        global $admin_notices;
     793       
     794        if (strtolower($type) == 'updated' && $message != '') {
     795                $admin_notices[] = array('updated', $message);
     796                return true;
     797        }
     798       
     799        if (strtolower($type) == 'error' && $message != '') {
     800                $admin_notices[] = array ('error', $message);
     801                return true;
     802        }
     803       
     804        return false;
     805}
     806
     807/**
     808 * Iterates though the global variable $admin_notices to be displayed and echo's
     809 * out the notices in the standard formatted output. Executed by admin_notices hook.
     810 *
     811 * @package WordPress
     812 * @subpackage Plugin
     813 * @access private
     814 * @link http://core.trac.wordpress.org/ticket/12738
     815 *
     816 * @global array $admin_notices
     817*/
     818function _display_admin_notices() {
     819        global $admin_notices;
     820       
     821        foreach ((array) $admin_notices as $notice) {
     822                echo '<div id="message" class="' . $notice[0] . '"><p>' . $notice[1] . '</p></div>';
     823        }
     824}
     825add_action('admin_notices', '_display_admin_notices');
    775826?>