Intereting Posts
Сортировка / список / организация комментариев автором комментария в не-вложенных / без комментариев к потоку Как добавить элемент меню в область администратора? Есть ли способ написать серию в WordPress? Применять другой класс для каждого элемента в foreach () Как я могу просмотреть / зарегистрировать все запросы, поступающие из регистрационной формы (а не из пользовательского интерфейса)? Изменение имени темы wordpress (не детская тема) Автоматически добавлять символ в поле на странице редактирования сообщений Предотвращение повторной отправки формы в плагине контактной формы Прикрепление изображений к сообщениям вручную (т. Е. С помощью специального кода без использования API) выдержка отображает один и тот же текст Постоянная ссылка на основе даты для пользовательского типа сообщений и постоянные константы таксономии Перенаправление пользователей при выходе из системы Вводная запись update_user_meta Если расширенные пользовательские поля или / и инструкции Как напечатать текст в виде короткого кода в визуальном редакторе WordPress TinyMCE?

Перезапись 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]