@LastGeneral

Некорректно работает фильтр, как можно исправить?

Мультиязычный сайт, на нем реализован фильтр отображения товаров, все корректно работает на русской, и отображается. Но на других языках не работает. Нашел способ, не без помощи хабра, $main_page = pll_get_post(18); id 18 страницы, это продукты на русском заменил на $id, и фильтр начал показываться и на других языках, но перестал работать, показывает одни и те же товары, что можно сделать, что бы работало корректно?
<?php /* Template Name: Продукция  */

get_header();
$locale = get_locale();
if($locale == 'ru_RU'){
    $all_text = 'Все';
    $subcat_text = 'Категории';
    $seria_text = 'Серии';
    $ing_text = 'Ингридиенты';
    $reset_filters = 'Сбросить фильтры';
    $no_products = 'В этой категории нет товаров.';
    $filter_but = 'Применить фильтры';
}else if($locale == 'uk'){
    $all_text = 'Все';
    $subcat_text = 'Категорії';
    $seria_text = 'Серії';
    $ing_text = 'Cкладові';
    $reset_filters = 'Скинути фільтри';
    $no_products = 'В цій категорії немає товарів.';
    $filter_but = 'Застосувати фільтри';
}else if($locale == 'bg_BG'){
    $all_text = 'Всичко';
    $subcat_text = 'Категории';
    $seria_text = 'Серия';
    $ing_text = 'Съставки';
    $reset_filters = 'Нулиране на филтрите';
    $no_products = 'Няма продукти в тази категория.';
    $filter_but = 'Прилагане на филтри';
}else if($locale == 'lt_LT'){
    $all_text = 'Visi';
    $subcat_text = 'Kategorijos';
    $seria_text = 'Serija';
    $ing_text = 'Ingredientai';
    $reset_filters = 'Iš naujo nustatyti filtrus';
    $no_products = 'Šioje kategorijoje nėra produktų.';
    $filter_but = 'Taikyti filtrus';
}else if($locale == 'pl_PL'){
    $all_text = 'All';
    $subcat_text = 'Kategorie';
    $seria_text = 'Seria';
    $ing_text = 'Składniki';
    $reset_filters = 'Resetuj filtry';
    $no_products = 'Resetuj filtry';
    $filter_but = 'Zastosuj filtry';
}else if($locale == 'ro_RO'){
    $all_text = 'Toate';
    $subcat_text = 'Categorii';
    $seria_text = 'Seria';
    $ing_text = 'Ingrediente';
    $reset_filters = 'Resetați filtrele';
    $no_products = 'Nu există produse în această categorie.';
    $filter_but = 'Aplică filtre';
}else{
    $all_text = 'All';
    $subcat_text = 'Categories';
    $seria_text = 'Series';
    $ing_text = 'Ingredients';
    $reset_filters = 'Reset filters';
    $no_products = 'There are no products in this category.';
    $filter_but = 'Apply filters';
}
$id = get_the_ID();
$my_wp_query = new WP_Query();
$all_wp_pages = $my_wp_query->query(array('post_type' => 'page', 'posts_per_page' => -1 ));
$main_page = pll_get_post(18);
$children_pages = get_page_children($id,$all_wp_pages);
$children_pages_filter = get_page_children($main_page,$all_wp_pages);
$ids = array();
foreach ($children_pages as $children_page) {
    $ids[] = $children_page->ID;
}
if(!empty($ids)){
    $meta_array = array();
    $meta_array['relation'] = 'OR';
    foreach($ids as $id2){  // CREATE QUERY FOR EACH COUNTRY IN ARRAY

        $meta_array[] =  array(
            'key'		=> 'product_category',
            'value'		=> $id2,
            'compare'	=> 'LIKE'
        );

    }
}else{
    $meta_array[] =  array(
        'key'		=> 'product_category',
        'value'		=> $id,
        'compare'	=> 'LIKE'
    );
}

?>

Полный код
  • Вопрос задан
  • 25 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы