Gr1 '@ 6U Hn8&@ P RU Try @ SU ߢ>b@ PTU jտ(,@ UU jaNp(@ UU `r x@ `VU s @ WU -7w @ WU h@ pXU b*Bَ@ YU ?EOx@ YU "ro(@ [U | ຂU 'j#U `|U @ 'U *U zQU `|U ` (,@ 'U U ~QU `|U ! P@ 'U mU pyU xQU `|U ! @ 'U pU gU uQU `|U p ! @ 'U qU -U wQU `|U ! @@ 'U rU .U tQU `|U ! @ 'U tU .U PvQU `|U ! @ 'U PuU /U yQU `|U 0 ! 8@ 'U vU P1U PQU `|U P@ 'U wU 1U QU `|U p PiU kU @ piU 3U 3U 04U 05U 4U P @ @NU ʕ BadMethodCallException iU 0LU @LU p]U _U [U 0^U xMgU iU xU ༂U 1U `}U `|QU `iU @ ZU 6an badmethodcallexception Q NU lU @U {U `}U FU lU 2U >F &@ 3U S &@ 3U >| `&@ 04U %˖| x"@ 05U | "@ 4U Gr1 '@ 6U Hn8&@ P aU Try @ bU ߢ>b@ ( $this->get_queried_post_type() ); $this->redirect_feed( $url, 'We disable post type feeds for performance reasons.' ); } if ( \is_search() && $this->is_true( 'remove_feed_search' ) ) { $url = \trailingslashit( \home_url() ) . '?s=' . \get_search_query(); $this->redirect_feed( $url, 'We disable search RSS feeds for performance reasons.' ); } } /** * Sends a cache control header. * * @param int $expiration The expiration time. */ public function cache_control_header( $expiration ) { \header_remove( 'Expires' ); // The cacheability of the current request. 'public' allows caching, 'private' would not allow caching by proxies like CloudFlare. $cacheability = 'public'; $format = '%1$s, max-age=%2$d, s-maxage=%2$d, stale-while-revalidate=120, stale-if-error=14400'; if ( \is_user_logged_in() ) { $expiration = 0; $cacheability = 'private'; $format = '%1$s, max-age=%2$d'; } \header( \sprintf( 'Cache-Control: ' . $format, $cacheability, $expiration ), true ); } /** * Redirect a feed result to somewhere else. * * @param string $url The location we're redirecting to. * @param string $reason The reason we're redirecting. */ private function redirect_feed( $url, $reason ) { \header_remove( 'Content-Type' ); \header_remove( 'Last-Modified' ); $this->cache_control_header( 7 * \DAY_IN_SECONDS ); \wp_safe_redirect( $url, 301, 'Yoast SEO: ' . $reason ); exit; } /** * Retrieves the queried post type. * * @return string The queried post type. */ private function get_queried_post_type() { $post_type = \get_query_var( 'post_type' ); if ( \is_array( $post_type ) ) { $post_type = \reset( $post_type ); } return $post_type; } /** * Checks if the value of an option is set to true. * * @param string $option_name The option name. * * @return bool */ private function is_true( $option_name ) { return $this->options_helper->get( $option_name ) === true; } }