URL-запросы не работают на странице статических сообщений - PullRequest
0 голосов
/ 17 апреля 2019

В разделе Settings -> Reading я настроил свой сайт на использование пользовательских статических страниц как для домашней страницы, так и для страницы сообщений.Страница сообщений на /news/.

Я хочу использовать /news/ в качестве URL-адреса для моего фильтруемого архива, но, похоже, он ведет себя не так, как список последних сообщений по умолчанию (при использовании в качестве домашней страницы).) или архив пользовательских типов записей.

Когда я посещаю /?tag=demo, я вижу список сообщений, отфильтрованных по тегу demo, но когда я пытаюсь пропустить фильтр тегов через URL-запрос,например, /news/?tag=demo, список не фильтруется.Когда я захожу на /news/ без переменных запроса, я вижу нефильтрованный список, как и ожидалось.

Я подозреваю, что это как-то связано с тем фактом, что статическая страница сообщений является «страницей» в смысле Wordpress,а не настоящий архив.Можно ли отформатировать URL-адрес для передачи переменных запросов в этот тип статического списка сообщений?

Я занимаюсь разработкой пользовательской темы, поэтому я могу изменить PHP любым необходимым способом.Вместо этого я мог бы использовать настраиваемое правило перезаписи для отображения почтового архива на /news/, но я надеялся, что решение будет более гибким и простым для моего клиента, чтобы его можно было понять и настроить с помощью панели управления WP.

Iпроверил это, используя тему Twenty Nineteen со всеми отключенными плагинами.Похоже, что это стандартное поведение для Wordpress и не связано с моей пользовательской темой или какими-либо плагинами.

Я попытался устранить косую черту (/news?tag=demo), но результаты были такими же.

Я также попробовал свое решение «когда сомневаешься» о повторном сохранении настроек постоянных ссылок без эффекта.

Когда я проверяю глобальную переменную $wp_query для /?tag=demo, я вижу следующие значения (сокращеннопоказывать только те значения, которые я считал уместными):

"query": {
  "tag": "demo"
},
"tax_query": {
  ...
  "queries": [
    {
      "taxonomy": "post_tag",
      "terms": [
        "demo"
      ],
      "field": "slug",
      "operator": "IN",
      'include_children": true
    }
  ]
  ...
},
"post_count": 1

Но когда я проверяю $wp_query на /news/?tag=demo, те же значения выглядят так:

"query": {
  "page": "",
  "tag": "demo",
  "pagename": "news"
},
"queries": [],
"post_count": 10

Iожидалось, что значение «query» будет одинаковым, но похоже, что статическая версия вообще не генерирует это значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...