Почему WordPress все еще лишает мой запрос var?

Я пытаюсь передать запрос var в шаблон пользовательской страницы с довольно постоянными ссылками.

Поэтому в основном у меня есть страница под названием «альбомы». И я хочу передать запрос var на эту страницу под названием «тип». Таким образом, недобросовестная версия будет mywebsite.com/index.php?p=97&type=vinyl

«красивая» версия будет mywebsite.com/albums/vinyls

И шаблон должен затем извлечь эту переменную (то есть винилы)

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

Поэтому сначала добавьте переписывание в мои функции. Php:

function addrewrite() { add_rewrite_rule( '^albums/([^/]+)/?$', 'index.php?p=97&type=$matches[1]', 'top' ); } add_action('init', 'addrewrite'); 

Кажется, это работает, так как я вижу, что он появляется, если вы получаете var_dump всех переписывающих.

Теперь, если я сделаю тест и напечатаю mywebsite.com/albums/vinyl в своем браузере, WordPress удалит последний бит «винил». Я прочитал пару мест, потому что мне нужно также зарегистрировать запрос var. поэтому я сделал это со следующим кодом:

 add_filter('query_vars', 'add_my_var'); function add_my_var($public_query_vars) { $public_query_vars[] = 'type'; return $public_query_vars; } 

Затем я сбросил постоянные ссылки, нажав сохранить в настройках -> permalinks , но wordpress по-прежнему удаляет мой url.

Что мне здесь не хватает?

Solutions Collecting From Web of "Почему WordPress все еще лишает мой запрос var?"