/home/techb158/l2hypotheques.com/wp-content/plugins/polylang/src/frontend
Edit: /home/techb158/l2hypotheques.com/wp-content/plugins/polylang/src/frontend/choose-lang-content.php (4318B)
options['media_support'] ) ) {
return false;
}
$var = get_query_var( 'lang' );
if ( ! empty( $var ) && is_string( $var ) ) {
$lang = explode( ',', $var );
return $this->model->get_language( reset( $lang ) ); // Choose the first queried language.
}
if ( is_singular() ) {
foreach ( $this->get_singular_query_vars() as $var ) {
if ( ! empty( $var ) && is_numeric( $var ) ) {
return $this->model->post->get_language( (int) $var );
}
}
}
foreach ( $this->model->get_translated_taxonomies() as $taxonomy ) {
$tax_object = get_taxonomy( $taxonomy );
if ( empty( $tax_object ) || empty( $tax_object->query_var ) ) {
continue;
}
$var = get_query_var( $tax_object->query_var );
if ( ! is_string( $var ) || empty( $var ) ) {
continue;
}
$term = get_term_by( 'slug', $var, $taxonomy );
if ( ! $term instanceof WP_Term ) {
continue;
}
return $this->model->term->get_language( $term->term_id );
}
return false;
}
/**
* Returns the values of query vars corresponding to "singular" pages.
*
* @since 3.8
*
* @return Generator
*/
private function get_singular_query_vars(): Generator {
yield get_queried_object_id();
yield get_query_var( 'p' );
yield get_query_var( 'page_id' );
yield get_query_var( 'attachment_id' );
}
/**
* Sets the language for the home page.
* Adds the lang query var when querying archives with no language code.
*
* @since 1.2
*
* @param WP_Query $query Instance of WP_Query.
* @return void
*/
public function parse_main_query( $query ) {
if ( empty( $GLOBALS['wp_the_query'] ) || $query !== $GLOBALS['wp_the_query'] ) {
return;
}
$qv = $query->query_vars;
// Homepage is requested, let's set the language
// Take care to avoid posts page for which is_home = 1
if ( empty( $query->query ) && ( is_home() || is_page() ) ) {
$this->set_language( $this->get_home_language() );
$this->home_requested();
}
parent::parse_main_query( $query );
$is_archive = ( count( $query->query ) == 1 && ! empty( $qv['paged'] ) ) ||
$query->is_date ||
$query->is_author ||
( ! empty( $qv['post_type'] ) && $query->is_post_type_archive && $this->model->is_translated_post_type( $qv['post_type'] ) );
// Sets the language in case we hide the default language
// Use $query->query['s'] as is_search is not set when search is empty
// http://wordpress.org/support/topic/search-for-empty-string-in-default-language
if ( $this->options['hide_default'] && ! isset( $qv['lang'] ) && ( $is_archive || isset( $query->query['s'] ) || ( count( $query->query ) == 1 && ! empty( $qv['feed'] ) ) ) ) {
$this->set_language( $this->model->get_default_language() );
$this->set_curlang_in_query( $query );
}
}
/**
* Sets the language from content.
*
* @since 1.2
*
* @return void
*/
public function wp(): void {
parent::set_language();
}
}