Intereting Posts
Перейти к ошибке подключения к другой серверной базе данных wp_query на шаблоне страницы не работает (структура Genesis) Создать страницу для подсчета комментариев для каждой публикации в WordPress Site Действие woocommerce_register_post не срабатывает Манипулировать запрос, чтобы показать конкретную запись WP 3.3 Как добавить элементы меню в панель администратора? Пейджинг не работает для иерархического пользовательского типа сообщения При фильтрации запроса на пользовательскую таксономию; главное меню исчезает Ограничьте авторов, увидев ТОЛЬКО их медиафайлы Показать 10 последних сообщений от пользователей с ролью участников Javascript JSON header Удаление и преобразование времени в UTC get_adjacent_post по языку добавьте комментарии GD Star Rating's к комментариям приятеля Удалить родительское имя из permalink Как я могу вызвать функции из пользовательского плагина?

Необходимо зафиксировать «ключевое слово», добавленное в конец сообщения, даже с «довольно постоянными»,

У меня есть сценарий, который я написал некоторое время назад, и просто решил «портировать» его в WP плагин.

Все отлично работает, за исключением одной части жизненно важной функциональности ядра.

В сценарии используется mod_rewrite, чтобы использовать виртуальные URL-адреса, которые включают «ключевое слово», которое затем использует сценарий для других функций.

В частности, он позволяет использовать такие URL-адреса:

www.domain.com/page-name/my-keyword/

он затем будет использовать «page-name» для создания фактического содержимого страницы, а «my-keyword» передается другим функциям в сценарии для других целей.

Если WP по умолчанию имеет постоянные значения, все работает нормально. Но как только «красивые постоянные ссылки» используются, мои правила перезаписи противоречат правилам WP, и эта функция перестает работать. WP вместо этого генерирует 404, как вы, вероятно, ожидаете, поскольку запрошенный URL-адрес страницы не существует.

Поэтому мне нужен способ включения пользовательских постоянных ссылок, например, /% postname% /, но все же можно добавлять информацию после имени сообщения в URL-адресе. Мой оригинальный скрипт мог бы даже сделать это:

www.domain.com/page-name/bunch/of/stuff/can-go/in/here/and/will/be/ignored/my-keyword/

и он по-прежнему будет использовать «page-name» для контента и «my-keyword» в качестве ключевого слова, игнорируя все. Мне также хотелось бы, чтобы эта функциональность работала с WP, но пока не смогла найти решение.

Вот оригинальный код перезаписи моего сценария:

RewriteBase /wp RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.*$ - [S=44] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [S=44] RewriteRule ^(.*)$ index.php?k=$1&%{QUERY_STRING} 

И вот то, что WP генерирует по умолчанию, когда я устанавливаю свои постоянные ссылки на /% postname% /:

 RewriteBase /wp/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wp/index.php [L] 

Я бы предпочел не требовать от пользователя делать какое-либо редактирование htaccess, обрабатывая это, по возможности, через мой плагин. Пошли близко, но не совсем там.

Есть идеи?

Благодаря!

Джонатан

Solutions Collecting From Web of "Необходимо зафиксировать «ключевое слово», добавленное в конец сообщения, даже с «довольно постоянными»,"

Если пользователь решает не включать довольно постоянные ссылки, я бы уважал их решение не разрешать их.

Два возможных варианта:

  1. Просто укажите, что для плагина требуется довольно постоянная ссылка для работы
  2. В качестве резервной копии просто добавьте ключевое слово в качестве строки запроса, если довольно постоянные ссылки не включены.

РЕДАКТИРОВАТЬ

Возможно, попробуйте этот учебник для расширения правил перезаписи WP ?

В принципе, правила перезаписи – это массив, поэтому вы создаете функцию, которая тянет в массив, манипулирует им, а затем возвращает его; то вы перехватите этот массив в hook_rewrite_rules.

Вы также можете указать, что делает плагин WP Access Control .

В дополнение к предложению @Chip Bennets:

Вы можете проверить Справочник по параметру, чтобы проверить, действительно ли структура permlinks / permalink.

Есть встроенная функция add_query_arg() которая позволяет добавлять к исходной строке запроса.