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

Как настроить rewrite rule для WordPress?

На сайте есть кастомный тип записей team, в нем есть записи.
Нужно создать дополнительную страницу, которая использует данные из кастомного типа,
где post slug = GET-параметр в новом пути

Файл-обработчик страницы single-vcard.php, лежит в корне теме.

Путь
site.ru/vcard/ivan-ivanov/
vcard – статическая часть url
ivan-ivanov – GET-параметр

После добавления кода в functions.php и обновления постоянных ссылок через админку не передаются значения GET-параметра employee_id.

Вопросы:
1. Как сократить путь в add_rewrite_rule(), чтобы не писать путь от корня сайта?
2. Почему не передаются значения GET-параметра employee_id ?
3. Почему не подгружаются стандартные функции WordPress в подключаемом файле?
Нужно принудительно require wp_core.php прописать?

Код
add_action('init', function(){
    add_rewrite_rule(
        '^vcard/([a-zA-Z0-9-_]+)/?',
        'wp-content/themes/main_theme/single-vcard.php?employee_id=$matches[1]',
        'top'
    );
});

function prefix_register_query_var( $vars ) {
    $vars[] = 'employee_id';
    
    return $vars;
}

add_filter( 'query_vars', 'prefix_register_query_var' );


Результат ($_GET)
65c51f5c7de12703589945.png
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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