$notice ) { $this->create_admin_notice( $notice ); } delete_transient( 'lbry_notices' ); } } /** * Sets transients for admin errors */ // TODO: Make sure we only set one transient at a time per error public function set_notice( $status = 'error', $message = 'Something went wrong', $is_dismissible = false ) { $notice = array( 'status' => $status, 'message' => $message, 'is_dismissible' => $is_dismissible ); if (! get_transient( 'lbry_notices' ) ) { set_transient( 'lbry_notices', array( $notice ) ); } else { $notices = get_transient( 'lbry_notices' ); $notices[] = $notice; set_transient( 'lbry_notices', $notices ); } } /** * Prints an admin notice */ private function create_admin_notice( $notice ) { $class = 'notice notice-' . $notice['status']; if ( $notice['is_dismissible'] ) { $class .= ' is-dismissible'; } printf( '

%2$s

', esc_attr( $class ), esc_html( $notice['message'] ) ); } }