Intereting Posts
Как многослойный WordPress управляет субдоменами? ACF проверяет, имеет ли переменная http, если else возвращает строку Отсутствуют поля страницы профиля пользователя WordPress. Почему wp_get_attachment_image_src не работает с моим пользовательским размером (add_image_size) многоэкранный ящик для почтового обмена Заменить shortcode на выходные данные в базе данных? Функция удаления сообщения, это дети, и это большие дети (на полпути уже есть) Сначала используйте Orderby и meta_value_num для упорядочения чисел, затем строки Страница пользовательского поиска не работает Подключиться на страницу архива? Удалено slug из CPT, теперь Как / где я привязываю фильтр к ссылке на страницы таксономии? Неустранимая ошибка: вызов неопределенной функции get_users () Расположить правую боковую панель метабокса прямо под публикацией exchangeox? Замена определенного пункта меню не может видеть живую версию style.css – это кеширование веб-сервера?

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