force_logged_out_render(); } } /** * Force the current page to render as viewed by a logged out user. Useful when generating * Critical CSS. */ private function force_logged_out_render() { $current_user_id = get_current_user_id(); if ( 0 !== $current_user_id ) { // Force current user to 0 to ensure page is rendered as a non-logged-in user. wp_set_current_user( 0 ); // Turn off display of admin bar. add_filter( 'show_admin_bar', '__return_false', PHP_INT_MAX ); } } /** * Return true if page is loaded to generate critical CSS * * phpcs:disable WordPress.Security.NonceVerification.Recommended */ public static function is_generating_critical_css() { return isset( $_GET[ self::GENERATE_QUERY_ACTION ] ); } /** * Get a Critical CSS status block, adding in local generation nonces (if applicable). * i.e.: Call this method to supply enough Critical CSS status to kick off local generation, * such as in response to a request-generate API call or during page initialization. */ public function get_generation_metadata() { $status = array(); // Add a user-bound nonce to use when proxying CSS for Critical CSS generation. $status['proxy_nonce'] = wp_create_nonce( CSS_Proxy::NONCE_ACTION ); return $status; } /** * Renders a tag used to verify this is a valid page to generate Critical CSS with. */ public function display_generate_meta() { ?>