Intereting Posts
Как отменить публикацию моего нового сайта во время работы над ним? Пользовательский тип сообщения с использованием стандартных категорий сообщений приводит к 404 при просмотре / cpt / category Как включить шрифты Google Как отображать виджет, доступный для всех тем Как импортировать файлы в отдельные записи настраиваемого типа Создание пользовательского входа на сайт. Создать пост с помощью JSON api plugin get_posts $ args не будет принимать массив как один из критериев? Настройте wp_List_pages для вывода UL LI Shortcode Не отображается в правом месте Перенаправить старые .html URL-адреса на новую установку в подпапку Котировки экранируются внутри wp_editor при сохранении с помощью wp_kses_post Как я могу понять полу-частный дневник дневника исследования? Создайте подстраницу / пользователь / или / my-profile / like / author / с дополнительным запросом вроде / user / user123 Почему флажок «Быстрое редактирование» сохраняет значение только при снятии флажка?

Перезапись WordPress

Я пытаюсь получить http://example.com/site/vendors/?u=abc, чтобы переписать на http://example.com/site/vendors/abc, но я не могу на всю жизнь выяснить как заставить URL перезаписывать работу.

/ site / является корневым каталогом для моей установки / поставщиков WP / является страницей

Solutions Collecting From Web of "Перезапись WordPress"

предполагая, что u – это пользовательский запрос var, вы должны сначала добавить его в массив распознанных запросов:

 function wpa_query_vars( $query_vars ){ $query_vars[] = 'u'; return $query_vars; } add_filter('query_vars', 'wpa_query_vars'); 

Затем добавьте правило внутреннего переписывания, которое принимает что-либо, добавленное vendors и передает его как запрос u var:

 function wpa_rewrite(){ add_rewrite_rule( 'vendors/([^/]+)/?$', 'index.php?pagename=vendors&u=$matches[1]', 'top' ); } add_action( 'init', 'wpa_rewrite' ); 

Обязательно сбросьте правила перезаписи один раз, чтобы это правило было добавлено, вы также можете сделать это, просто посетив страницу « Settings > Permalinks .

Затем в шаблоне вы можете получить доступ к значению u через get_query_var() :

 $vendor = get_query_var( 'u' ); 

Я считаю, что это то, что вы ищете:

 RewriteRule ^/site/vendors/([^/]*)$ /site/vendors/?u=$1 [L]