filter( function ( $value, $key ) use ( $remove_if_start_with, $remove_if_end_with, $remove_if_is ) { foreach ( $remove_if_start_with as $term ) { if ( 0 === strpos( $key, $term ) ) { return false; }; } foreach ( $remove_if_end_with as $term ) { if ( 1 === preg_match( "/{$term}$/", $key ) ) { return false; }; } foreach ( $remove_if_is as $term ) { if ( $key === $term ) { return false; } } return true; } ); if ( ! $query->is_empty() ) { $url = implode( '?', [ $url, build_query( $query->all() ), ] ); } } return esc_url_raw( rtrim( $url, '/' ) ); } /** * @param $value * * @return bool */ public static function validate_url_or_relative_url( $value ) { $is_valid_url = filter_var( $value, FILTER_VALIDATE_URL ); if ( $is_valid_url ) { return (bool) $is_valid_url; } // Check if the $value is relative url. return (bool) filter_var( 'https://localhost/' . ltrim( $value, '/' ), FILTER_VALIDATE_URL ); } /** * Clean the WP document title and return it. * * @return string */ public static function get_clean_document_title() { $filter = function ( $title ) { if ( is_home() || is_front_page() ) { return [ esc_html__( 'Home page', 'elementor-pro' ) ]; } unset( $title['site'] ); return $title; }; add_filter( 'document_title_parts', $filter ); $title = wp_get_document_title(); remove_filter( 'document_title_parts', $filter ); return $title; } }