PluginProbe ʕ •ᴥ•ʔ
Advanced Custom Fields (ACF®) / 6.8.8
Advanced Custom Fields (ACF®) v6.8.8
6.8.9 6.8.8 6.8.7 6.8.6 6.8.5 6.8.4 6.8.3 6.8.2 6.8.1 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.1.0 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7 6.1.8 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.6.1 6.2.7 6.2.8 6.2.9 6.3.0 6.3.1 6.3.10.2 6.3.11 6.3.12 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.6.1 6.4.0 6.4.0.1 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.6.0 6.6.1 6.6.2 6.7.0 6.7.1 6.7.2 6.8.0 trunk 1.0.0 1.0.2 1.0.3 1.0.5 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1.1 2.1.3 2.1.4 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.6 3.0.7 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.8 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.4.10 4.4.11 4.4.12 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 5.10 5.10.1 5.10.2 5.11 5.11.1 5.11.2 5.11.3 5.11.4 5.12 5.12.1 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.6.10 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 5.6.7 5.6.8 5.6.9 5.7.0 5.7.1 5.7.10 5.7.12 5.7.13 5.7.2 5.7.3 5.7.4 5.7.5 5.7.6 5.7.7 5.7.8 5.7.9 5.8.0 5.8.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.2 5.8.3 5.8.4
advanced-custom-fields / includes / admin / admin-notices.php
advanced-custom-fields / includes / admin Last commit date
post-types 5 months ago tools 5 months ago views 1 month ago admin-email-opt-in-banner.php 1 month ago admin-internal-post-type-list.php 5 months ago admin-internal-post-type.php 5 months ago admin-notices.php 5 months ago admin-options-pages-preview.php 5 months ago admin-tools.php 5 months ago admin-upgrade.php 5 months ago admin.php 1 month ago index.php 2 years ago
admin-notices.php
152 lines
1 <?php
2 /**
3 * @package ACF
4 * @author WP Engine
5 *
6 * © 2026 Advanced Custom Fields (ACF®). All rights reserved.
7 * "ACF" is a trademark of WP Engine.
8 * Licensed under the GNU General Public License v2 or later.
9 * https://www.gnu.org/licenses/gpl-2.0.html
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 // Register notices store.
18 acf_register_store( 'notices' );
19
20 /**
21 * ACF_Admin_Notice
22 *
23 * Class used to create an admin notice.
24 *
25 * @date 10/1/19
26 * @since 5.7.10
27 */
28 if ( ! class_exists( 'ACF_Admin_Notice' ) ) :
29
30 class ACF_Admin_Notice extends ACF_Data {
31
32 /** @var array Storage for data. */
33 var $data = array(
34
35 /** @type string Text displayed in notice. */
36 'text' => '',
37
38 /** @type string The type of notice (warning, error, success, info). */
39 'type' => 'info',
40
41 /** @type bool If the notice can be dismissed. */
42 'dismissible' => true,
43
44 /** @type bool If the dismissed state should be persisted to ACF user preferences. */
45 'persisted' => false,
46 );
47
48 /**
49 * render
50 *
51 * Renders the notice HTML.
52 *
53 * @date 27/12/18
54 * @since 5.8.0
55 *
56 * @param void
57 * @return void
58 */
59 function render() {
60 $notice_text = $this->get( 'text' );
61 $notice_type = $this->get( 'type' );
62 $is_dismissible = $this->get( 'dismissible' );
63 $is_persisted = $this->get( 'persisted' );
64
65 printf(
66 '<div class="acf-admin-notice notice notice-%s %s" data-persisted="%s" data-persist-id="%s">%s</div>',
67 esc_attr( $notice_type ),
68 $is_dismissible ? 'is-dismissible' : '',
69 $is_persisted ? 'true' : 'false',
70 esc_attr( md5( $notice_text ) ),
71 acf_esc_html( wpautop( acf_punctify( $notice_text ) ) )
72 );
73 }
74 }
75
76 endif; // class_exists check
77
78 /**
79 * acf_new_admin_notice
80 *
81 * Instantiates and returns a new model.
82 *
83 * @date 23/12/18
84 * @since 5.8.0
85 *
86 * @param array $data Optional data to set.
87 * @return ACF_Admin_Notice
88 */
89 function acf_new_admin_notice( $data = false ) {
90
91 // Create notice.
92 $instance = new ACF_Admin_Notice( $data );
93
94 // Register notice.
95 acf_get_store( 'notices' )->set( $instance->cid, $instance );
96
97 // Return notice.
98 return $instance;
99 }
100
101 /**
102 * acf_render_admin_notices
103 *
104 * Renders all admin notices HTML.
105 *
106 * @date 10/1/19
107 * @since 5.7.10
108 *
109 * @param void
110 * @return void
111 */
112 function acf_render_admin_notices() {
113
114 // Get notices.
115 $notices = acf_get_store( 'notices' )->get_data();
116
117 // Loop over notices and render.
118 if ( $notices ) {
119 foreach ( $notices as $notice ) {
120 $notice->render();
121 }
122 }
123 }
124
125 // Render notices during admin action.
126 add_action( 'admin_notices', 'acf_render_admin_notices', 99 );
127
128 /**
129 * acf_add_admin_notice
130 *
131 * Creates and returns a new notice.
132 *
133 * @date 17/10/13
134 * @since 5.0.0
135 *
136 * @param string $text The admin notice text.
137 * @param string $class The type of notice (warning, error, success, info).
138 * @param boolean $dismissable Is this notification dismissible (default true) (since 5.11.0)
139 * @param boolean $persisted Store once a notice has been dismissed per user and prevent showing it again. (since 6.1.0)
140 * @return ACF_Admin_Notice
141 */
142 function acf_add_admin_notice( $text = '', $type = 'info', $dismissible = true, $persisted = false ) {
143 return acf_new_admin_notice(
144 array(
145 'text' => $text,
146 'type' => $type,
147 'dismissible' => $dismissible,
148 'persisted' => $persisted,
149 )
150 );
151 }
152