Я прочитал десятки сообщений и, честно говоря, у меня много сомнений относительно того, как это работает. Кроме того, я думаю, что с WP3.1 здесь было добавлено больше проблем, потому что теперь у меня еще больше проблем, чем раньше.
Дело в том, что я использую один и тот же слаг для разных таксономий и постов. Давайте использовать кредиты в качестве пули для моей проблемы.
До сих пор у меня была страница /кредиты/, а также категория /кредиты/ и субтитры /кредиты/фиксированная ставка/ и /кредиты/переменная ставка/. В /loans/ я отобразил страницу, на которой у меня был собственный шаблон, показывающий разные вещи, а в /loans/subcategories/ у меня были архивы для сообщений в этой категории. Кроме того, мои сообщения имели структуру /%postname%/.
Теперь, в WP3.1, в /loans/, я вижу архив всех сообщений в /loans/ и его дочерних элементов, и я был вынужден создать шаблон категории, «копирующий» то, что у меня было на странице раньше.
Теперь я хочу, воспользовавшись функциями WP3.1, создать пользовательский пост с именем /loans/, чтобы я мог определить новый шаблон для этих постов. Я также хочу создать новую таксономию под названием /займы/ (вместо категории), не являющуюся иерархической, поэтому у меня могут быть десятки подкатегорий /займы/займы-банк-X/, займы/займы-X-ставка/, /займы /кредиты-X-лет/ :
- /кредиты/ -> Страница с пользовательским шаблоном
- /кредиты/с фиксированной ставкой/, /кредиты/bank-of-america/, /кредиты/30-лет/ -> Таксономия
- /loans/30-years-fixed-rate-loan-of-bank-of-america-review/ -> Пользовательский пост с обзором продукта
¿Есть ли способ сделать это правильно?
Я читал до того, как страницы тегов имели приоритет над категориями, но не сейчас, в 3.1. Я считаю, что было бы неплохо, если бы кто-нибудь записал текущий приоритет этих слагов.
Это можно решить, используя разные слаги для таксономий и т. д., но с точки зрения SEO и UX гораздо лучше делать это с одним и тем же слагом.
Большое спасибо и привет.
WordPress анализирует входящие URL-адреса со списком регулярных выражений, правил перезаписи. Первое регулярное выражение, которое соответствует URL-адресу, «выигрывает» и определяет, какой запрос будет выполнен. Вы можете увидеть правила перезаписи и поиграть с разными URL-адресами с помощью моего плагина анализатора перезаписи.
Будут ли страницы иметь приоритет над другими правилами, зависит от вашей структуры постоянных ссылок. Если он содержит
%postname%
,%category%
,%tag%
или%author%
в качестве первой постоянной структуры, механизм перезаписи будет генерировать подробные правила страницы, где каждая страница получает конкретное правило в верхней части списка, а не универсальное правило в конце. Это может объяснить разницу между двумя сайтами.Функция
WP_Rewrite::rewrite_rules()
, генерирующая правила, имеет множество различных фильтров. Вы можете подключиться к одному из них, чтобы модифицировать массив, чтобы самые важные для вас правила были наверху. Вы можете найти много вопросов на этом сайте с примерами того, как изменить эти правила.Здравствуйте, Ян, извините, что не ответила раньше, я была в поездке! Большое спасибо за ваш ответ, но у меня все еще есть некоторые сомнения. вы работаете на фрилансе?
@antorome: Нет проблем, это действительно сложно. Вы можете найти мою контактную информацию на странице моего профиля.