| @@ -48,8 +48,13 @@ | ||
| 48 | 48 | * |
| 49 | 49 | * @return PLL_Language|false |
| 50 | 50 | */ |
| 51 | 51 | protected function get_current_language() { |
| 52 | + global $wp_query; | |
| 53 | + if ( ! isset( $wp_query ) ) { | |
| 54 | + return false; | |
| 55 | + } | |
| 56 | + | |
| 52 | 57 | // No language set for 404. |
| 53 | 58 | if ( is_404() || ( is_attachment() && ! $this->options['media_support'] ) ) { |
| 54 | 59 | return false; |
| 55 | 60 | } |
| @@ -132,9 +137,9 @@ | ||
| 132 | 137 | } |
| 133 | 138 | |
| 134 | 139 | parent::parse_main_query( $query ); |
| 135 | 140 | |
| 136 | - $is_archive = ( count( $query->query ) == 1 && ! empty( $qv['paged'] ) ) || | |
| 141 | + $is_archive = ( count( (array) $query->query ) == 1 && ! empty( $qv['paged'] ) ) || | |
| 137 | 142 | $query->is_date || |
| 138 | 143 | $query->is_author || |
| 139 | 144 | ( ! empty( $qv['post_type'] ) && $query->is_post_type_archive && $this->model->is_translated_post_type( $qv['post_type'] ) ); |
| 140 | 145 | |
| @@ -140,9 +145,9 @@ | ||
| 140 | 145 | |
| 141 | 146 | // Sets the language in case we hide the default language |
| 142 | 147 | // Use $query->query['s'] as is_search is not set when search is empty |
| 143 | 148 | // http://wordpress.org/support/topic/search-for-empty-string-in-default-language |
| 144 | - if ( $this->options['hide_default'] && ! isset( $qv['lang'] ) && ( $is_archive || isset( $query->query['s'] ) || ( count( $query->query ) == 1 && ! empty( $qv['feed'] ) ) ) ) { | |
| 149 | + if ( $this->options['hide_default'] && ! isset( $qv['lang'] ) && ( $is_archive || isset( $query->query['s'] ) || ( count( (array) $query->query ) == 1 && ! empty( $qv['feed'] ) ) ) ) { | |
| 145 | 150 | $this->set_language( $this->model->get_default_language() ); |
| 146 | 151 | $this->set_curlang_in_query( $query ); |
| 147 | 152 | } |
| 148 | 153 | } |