WordPress как на ладони
Официальная конференция по WordPress в Moскве 18-19 августа, начало в 9:00 wordpress jino

Как подкоректировать поиск мультиязичного магазина

Cайт магазин на двух языках: укр и рус. Основной укр. Использую Polylang. Столкнулся проблемой поиска. После заполнения и отправки формы поиска страница результатов выводится на украинском, вне зависимости от того, с какой языковой версии сайта эта форма поиска отправлялась. В то же время, если, уже находясь на странице результатов, переключить язык, то страница переходит на нужную языковую версию. Вопрос: как заставить сайт выводить страницу результатов в той языковой версии, в какой заполнялась форма? Сайт с проблемой: https://oliver-posud.com.ua

0
Иван
23 дня назад
  • 0

    Потому что по умолчанию у тебя сайт на Украинском и форма по умолчанию шлёт запрос сюда oliver-posud.com.ua/?s=сковорода
    а в русской версии сюда oliver-posud.com.ua/ru/?s=сковорода

    Иван 22 дня назад

    Проблема в том, что страница результатов выводится на украинском, вне зависимости от того, с какой языковой версии сайта эта форма поиска отправлялась.
    Используется плагин поиска WR Live Search. https://drive.google.com/open?id=1NtvvQR10An1MHGlSAPt7lKlqKU_m7-Vb
    Вот форма поиска теми https://drive.google.com/open?id=18rZ-gnbhuNFpE9hgT4tWdl4LzkKSj75s
    И еще один ПХП файл search в в папке темы https://drive.google.com/open?id=1MShjeT4LjQkwXu7XBAoU7B67v4UCqJjM

    Иван 22 дня назад

    Проблема решена. Спасибо Александр Талалаев.
    Коректировка файла формы поиска

    if(function_exists('pll_current_language')){
    $current_language = pll_current_language();
    $default_language = pll_default_language();
    if($current_language != $default_language){
    $language_subdir = $current_language.'/';
    } else {
    $language_subdir = '';
    }
    }
    <form role="search" method="get" class="widget-search" action="<?php echo esc_url( home_url( '/' ) . $language_subdir ); ?>" <?php WR_Nitro_Helper::schema_metadata( array( 'context' => 'search_form' ) ); ?>>
      <input type="search" class="search-field" placeholder="<?php esc_attr_e( 'Search ...', 'wr-nitro' ); ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php esc_attr_e( 'Search for', 'wr-nitro' ); ?>" />
      <button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
    </form>

    Еще коректировал файл плагина shortcode.php

    // Generate HTML for live search.
      if(function_exists('pll_current_language')){
    $current_language = pll_current_language();
    $default_language = pll_default_language();
    if($current_language != $default_language){
    $language_subdir = $current_language.'/';
    } else {
    $language_subdir = '';
    }
    }  
    	$html = '
    <form ' . ( $settings['id'] != '' ? 'id="' . esc_attr( $settings['id'] ) . '"' : '' ) . ' role="search" method="get" class="wrls-form ' . esc_attr( $settings['class'] ) . '" action="' . esc_url( home_url( '/' ) .$language_subdir ) . '">';
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация