Как работать с роутингом в WP?

Необходимо создать страницу (по статическому адресу), принимающую некоторые get и post параметры (что-то вроде API) и также задать для этой страницы определенный темплейт (полностью всю страницу). Нашел что нужно использовать WP_Rewrite, но как я понял это только дает возможность ЧПУ перезаписать. Не пойму в какой последовательности и что использовать в этой CMS, также весь код необходимо собрать в плагине.
Спасибо за любые ответы!
  • Вопрос задан
  • 1481 просмотр
Пригласить эксперта
Ответы на вопрос 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Чтобы для статической страницы создать отдельный шаблон нужно создать файл название.php и в самом верху добавить комментарий
<?php
/**
 * Template Name: Название шаблона
 */

И при создании страницы в админке выбрать нужный шаблон.
Про WP_Rewrite не подскажу, я использовал add_rewrite_rule(); почитать можно здесь
Вот, например я добавлял параметр str для сортировки по алфавиту для страницы /avtori/
add_action('init', 'do_rewrite');
function do_rewrite(){

    add_rewrite_rule( '^avtori/([^/]*)/([^/]*)/?', 'srt=$matches[1]', 'top' );

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

Этот код из урла вида /avtori/?srt=А достает значение параметра srt и записывает его в переменные запроса (параметры запроса) из WP_Query. После этого в коде страницы, на которую вы перешли можно получить это значение
$my_var = get_query_var('srt');
И потом эту переменную использовать, например, при построении своего WP_Query или где угодно на странице
Надеюсь, я правильно понял вопрос)
По плагинам тож не подскажу.
Ответ написан
Ваш ответ на вопрос

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

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