WPML
Статус
Решено автором
Решено в
JetSearch 3.2.0
Связанный плагин/тема
JetSearch
Теги темы
Compatibility

Обзор проблемы

При совместном использовании WPML и плагина JetSearch в области предварительного просмотра результатов поиска отображаются записи только на языке по умолчанию, даже если пользователь переключается на другой язык и ищет запись на этом языке.

Обходное решение

Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.


  • Во-первых, откройте файл …/wp-content/plugins/jet-search/includes/ajax-handlers.php.

  • Найдите строку 61.

  • Сразу под ней добавьте:
    			//WPML workaround for compsupp-6886 - Part I
    			if ( isset( $_GET[ 'wpml_lang' ] ) ) {
    				do_action( 'wpml_switch_language',  $_GET[ 'wpml_lang' ] ); // switch the content language
    			}

  • Во-вторых, откройте файл …/wp-content/plugins/jet-search/includes/assets.php:

  • Найдите строку 151.

  • Сразу под этой строкой:
    				$this->localize_data['rest_api_url']  = get_site_url() . "/wp-json/jet-search/v1/search-posts";
  • Добавьте:
    				//WPML workaround for compsupp-6886 - Part II
    				$wpml_current_lang = apply_filters( 'wpml_current_language', NULL ); 
    				if ( $wpml_current_lang ) {
    					$this->localize_data['rest_api_url'] = add_query_arg( 'wpml_lang', $wpml_current_lang, $this->localize_data['rest_api_url'] );
    				}	

Все известные проблемы →