'; } $msg = '' . __( 'WP Rocket: ', 'rocket' ) . ''; $msg .= sprintf( /* translators: %1$s = missing tags; */ esc_html( _n( 'Failed to detect the following requirement in your theme: closing %1$s.', 'Failed to detect the following requirements in your theme: closing %1$s.', count( $notice ), 'rocket' ) ), // translators: Documentation exists in EN, FR. wp_sprintf_l( '%l', $notice ) ); $msg .= ' ' . sprintf( /* translators: %1$s = opening link; %2$s = closing link */ __( 'Read the %1$sdocumentation%2$s for further guidance.', 'rocket' ), // translators: Documentation exists in EN, FR; use localized URL if applicable. '', '' ); \rocket_notice_html( [ 'status' => 'info', 'dismissible' => '', 'message' => $msg, 'dismiss_button' => __FUNCTION__, ] ); } /** * Get the request URI. * * @since 3.4.2 * @author Soponar Cristina * * @return string */ public function get_raw_request_uri() { if ( ! isset( $_SERVER['REQUEST_URI'] ) ) { return ''; } if ( '' === $_SERVER['REQUEST_URI'] ) { return ''; } return '/' . esc_html( ltrim( wp_unslash( $_SERVER['REQUEST_URI'] ), '/' ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized } /** * Deletes the transient storing the missing tags when updating the plugin * * @since 3.4.2.2 * @author Soponar Cristina */ public function delete_transient_after_upgrade() { delete_transient( 'rocket_notice_missing_tags' ); } }