Задать вопрос
@MaKS_Ibl4

Почему не получается получить переменную из запроса?

Здравствуйте. Ситуация в следующем. Я нахожусь на страницы категории товаров, используется шаблон archive-product.php.
я дописываю в урл: site.ru/cat/newparam/value/
делаю:
add_rewrite_endpoint( 'newparam', EP_ALL );
add_filter( 'query_vars', function ( $vars ) {
    $vars[] = 'newparam';
    return $vars;
} );

а get_query_var пустой.
Хорошо подумал я. и сделал rewrite_rule.
Ситуация так же. Пробую различные фариации и толку 0. То есть убираю все правила, что логично страница не существует. Добавляю и она открывается, но переменная пустая( что может быть? куда копнуть?

вариация с add_rewrite_rule

add_rewrite_rule(
        "^([^/]+)/newparam/([^&]+)/?$", 'index.php?name=$matches[1]&vidsporta=$matches[2]', 'top'
    );
    //pagination
    add_rewrite_rule(
        "^([^/]+)/newparam/([^&]+)/page/([0-9]+)?$", 'index.php?name=$matches[1]&vidsporta=$matches[2]&paged=$matches[3]', 'top'
    );

    add_filter( 'query_vars', function( $vars ){
        $vars[] = 'newparam';
        return $vars;
    } );

  • Вопрос задан
  • 26 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MaKS_Ibl4 Автор вопроса
Проблема была в кастомной функции которая полностью меняла query_vars. Удаляла искомый массив, и создавала свой.
Но возникла другая проблема.
Когда я дописываю /page/2/ в соотвествующем запросе вижу &newvar=val%2Fpage%2F2. откуда может появляться это чудо? соответственно переменная не работает
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы