$args icon (override aafm_icon name), inline (bool), html (bool), * class (extra CSS class appended to the wrapper, sanitized * with sanitize_html_class()). * @return string */ function aafm_get_notice_html( string $variant, string $message, array $args = array() ): string { $icons = array( 'warning' => 'warning', 'info' => 'info', 'success' => 'success', 'error' => 'error', ); if ( ! isset( $icons[ $variant ] ) ) { $variant = 'info'; } $icon_name = isset( $args['icon'] ) ? (string) $args['icon'] : $icons[ $variant ]; $inline = empty( $args['inline'] ) ? '' : ' aafm-notice-inline'; $extra = empty( $args['class'] ) ? '' : ' ' . sanitize_html_class( (string) $args['class'] ); $body = empty( $args['html'] ) ? esc_html( $message ) : wp_kses_post( $message ); return sprintf( '
%3$s
%4$s
', esc_attr( $variant ), esc_attr( $inline ), wp_kses( aafm_icon( $icon_name ), aafm_svg_allowed_html() ), $body, esc_attr( $extra ) ); } /** * Echo an admin notice. See aafm_get_notice_html(). * * @param string $variant Variant slug. * @param string $message Message. * @param array $args Options. * @return void */ function aafm_render_notice( string $variant, string $message, array $args = array() ): void { echo wp_kses( aafm_get_notice_html( $variant, $message, $args ), aafm_admin_allowed_html() ); }