andy
  • 0
Эксперт

Конфликт пользовательского типа записи и пользовательского URL-адреса таксономии

  • 0

У меня есть настраиваемый тип сообщения, paintings и у него есть пользовательская таксономия, называемая paintings_category .

На данный момент у меня такая ситуация:

  • example.com/paintings/

    Страница с использованиемpage-paintings.php

  • example.com/paintings_category/landscape/

    Перечисляет все landscape элементы вtaxonomy.php

  • example.com/paintings/landscape/painting-title/

    Отображает отдельные типы постов рисования, например.single-paintings.php

Если я попытаюсь изменить слаг, как показано ниже, я получу ошибку 404:

example.com/paintings/landscape/painting-title/

register_taxonomy( 
    'paintings_category', array('paintings'), 
    array( 
        'hierarchical' => true, 
        'label' => 'Categories', 
        'singular_label' => 'Category', 
        'rewrite' => array( 'slug' => 'paintings' )
    )
);

Я бы хотел, чтобы поведение было:

  • example.com/paintings/

    в идеале список paintings_category в виде ссылок

  • example.com/paintings/landscape/

    перечисляет все элементы landscape таксономии

  • example.com/paintings/landscape/painting-title/

    отображает один элемент

Любые мысли о том, как я могу этого добиться?

Я попытался добавить paintings в качестве родителя landscape категории, paintings_category но это все равно оставляет мне 404 на сингле.

Share
  1. Проще говоря, у вас не может быть страниц, настраиваемого типа сообщений и таксономии с общим URL-адресом, это просто выходит за рамки того, на что способны правила перезаписи. Скажем так, если я запрошу example.com/paintings/something, как WordPress узнает, имею ли я в виду страницу, тип сообщения или таксономию? (не может).

    • 0
    • Я понял, что при попытке получить структуру в том виде, в каком она у меня есть сейчас, возникают конфликты, но я надеялся сделать это по-другому. Могу ли я иметь иерархию таксономии таким образом: /paintings/landscape/painting-title/ и не иметь страницы под названием «картины», это возможно? если да, то как мне это сделать?

      • 0
  2. Что ж, оказывается, это действительно возможно 🙂

    В конце концов я нашел большую часть ответа в этом посте: Пользовательские типы постов, таксономии и постоянные ссылки.

    Затем я разбил single-paintings.php страницы в выбранной таксономии с помощью этого плагина: Ambrosite Next/Previous Post Link Plus (который выглядит так, как будто его можно добавить, functions.php если вы хотите сделать это без плагинов).

    Надеюсь, это поможет кому-то!

    • 0

Оставить ответ

You must login to add an answer.