Intereting Posts
Определить использование скриптов PHP в темах? Способ изменения URL-адресов изображений в сообщении в URL-адрес изображения cdn? Какие URL-адреса активов приемлемы для установки «ванильного» MU? nowplaying.include.php не отображает результаты Содержание для woocommerce_after_cart_table Тип тагирования страницы Удалить категорию slug из ссылки Как удалить или отменить родительский стиль темы Содержимое обрезки без форматирования get_posts не находит аргумент: post_name WordPress считает, что мои пользовательские страницы таксономии – это поисковые страницы #seo Изменить короткий код для работы с настраиваемыми типами сообщений Значок сайта / параметр favicon вне настройки: можно ли просто использовать функцию значка сайта настраивателя вне настройки? Использование Image-Uploader Magic Fields с эскизами Пользовательский тип сообщения, постоянная ссылка, добавление проблемы переменных запроса

Перезапись WordPress

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

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

предполагая, что 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]