Как изменить структуру постоянных ссылок для пользовательских типов сообщений и их таксономии?

Это репортаж о более раннем вопросе, который у меня был, но я хотел бы получить более подробную информацию, чтобы полностью решить эту проблему.

Итак, с (нормальными) сообщениями, изменяющими постоянную ссылку, так же просто, как и в настройках> Постоянная ссылка и, изменив ее на все, что вам нравится, например, широко используемый %category%/%postname%.html. Все это работает. Если бы это было так же просто для пользовательского типа сообщения и его таксономии.

Итак, это то, что мне нравится делать.

  1. http://mywordpress.com/portfolio.html - Показать все сообщения во всех категориях.
  2. http://mywordpress.com/portfolio/music/ - Показать все сообщения в этой категории.
  3. http://mywordpress.com/portfolio/music/trance/ - Показать все сообщения этой категории (ребенка).
  4. http://mywordpress.com/portfolio/music/trance/Tiesto.html - Показать сообщение.

До сих пор я получил следующее:

  1. Сначала я создал custom_post_type с именем project и taxonomy project_category .
  2. Я создал портфолио страницы и дал ему шаблон страницы, в котором будут перечислены все сообщения post_type = project. Как я могу добавить .html в постоянную ссылку на страницы? Теперь он ссылается на http://mywordpress.com/portfolio , в то время как я хочу http://mywordpress.com/portfolio.html . Это должно решить первую проблему.
  3. Тогда ситуация станет жесткой, потому что мы не знаем, как это сделать, и сколько подкатегорий есть, может быть, даже нет. Итак, структура, которой мы являемся, - это portfolio/(CATEGORY PATH FROM TOP TO CHILD)/post.html. Я все еще придерживаюсь этого момента. Я думаю, что мне нужно каким-то образом добавить последнюю категорию к пути и передать это по project_category , что должно привести к файлу taxonomy.php, где я могу обработать его правильно.
  4. Я не занимался этим ни одним из них, но должен был иметь какое-то отношение к %postname%.html в конце чего-то.

Я надеюсь, что моя проблема ясна и что есть смелые разработчики, которые помогут мне решить эту проблему, которая уже заставляет меня заняться четырьмя FULL днями!

8 голосов | спросил Mark 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 20 Sep 2011 15:35:16 +0400 2011, 15:35:16

1 ответ


0

2 Различные методы:

* См. примечания внизу этой публикации.


например, вы хотите иметь такую ​​постоянную ссылку:
/MAIN_CATEGORY /SUB_CAT_2 /Another_SUBCAT /мой пост-

Сначала , вам может потребоваться установить постоянные ссылки на /% category% /% postname% . Тогда ...




МЕТОД 1:

создать СТАНДАРТНЫЕ категории (MAIN_CATEGORY, SUB_CAT_1, and etc..) и зарегистрировать CUSTOM POST, включая этот параметр:

'taxonomies'    => array('category'..)

и использовать эти коды для изменения постоянных ссылок: https://wordpress.stackexchange.com/a/195643/33667
Затем, опубликовав CUSTOM POST (если он указан в категории), URL будет выглядеть следующим образом:
example.com/MAIN_CATEGORY/SUB_CAT_1/my-post



МЕТОД 2:

(ps этот метод не рекомендуется , если вы планируете публиковать сотни или тысячи сообщений)

зарегистрируйте CUSTOM POST (названный MAIN_CATEGORY ), включая следующие параметры:

    "supports"      => array('page-attributes'......
    "hierarchical"  => true,

затем опубликуйте специальные сообщения следующим образом:
(т. е. опубликовать несколько пользовательских сообщений , названных SUB_CAT_2, SUB_CAT_1... После этого, когда вы публикуете другое сообщение, но выберите SUB_CAT_2 как родительский.

:

постскриптум
1) Если вы новичок, перейдите по ссылке: Зарегистрировать CUSTOM POST и Регистрация CUSTOM POST с TAXONOMY
2), если вам понадобятся функции поиска для под-уровней, используйте пользовательский поисковый запрос

ответил T.Todua 10 12014vEurope/Moscow11bEurope/MoscowMon, 10 Nov 2014 13:23:37 +0300 2014, 13:23:37

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132