Intereting Posts
Как читатели аутентифицируются для публикации комментариев? редактировать имя роли и имя метки без плагинов Пользовательские столбцы для нескольких пользовательских типов сообщений SHortcode для запуска в повторяемом поле WYSIWYG с использованием CMB2 Yoast SEO breadcrumb VS Genesis breadcrumb WordPress Multisite: иметь одинаковый заголовок и нижний колонтитул основного блога во всех суб-блогах Сохранение моего подменю открыто при наведении указателя на его элементы списка Есть фото категории? Заморозка бэкэнда на определенных страницах дочернего сайта Получить название тега и заменить количество сообщений для облака тегов Название ярлыка типа публикации Проверка является родителем категории или нет из ее идентификатора Добавить текст в wordpress admin 'Добавить сообщение' edit Перевод типов сообщений Как получить идентификатор категории текущего сообщения?

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

Проблема. Мой личный блог находится на example.com , и я хочу создать книжную полку, где я разделяю все книги, которые я читаю или планирую читать. Я мог бы сделать это двумя способами:

  1. Создайте категорию под названием «Книги», чтобы отобразить последние книги, которые я добавил (например, архив).

    Создайте пользовательскую таксономию «Тема», чтобы классифицировать книги.

    Используйте пользовательские файлы шаблонов category-books.php и taxonomy-subject.php и используйте in_category( 'books' ) в single.php, чтобы настроить внешний вид (чтобы он больше напоминал книжную полку).

    Структура permalink в моем блоге уже выглядит следующим образом: /%category%/%postname%/ и база категорий лишена. Поэтому URL-адреса архива книг и книги (публикации) будут выглядеть следующим образом: http://example.com/books/ и http://example.com/books/book-name/ , соответственно.

    Используйте плагин Advanced Custom Fields для условного отображения определенных пользовательских мета-полей на странице редактирования, т. Е. Только при проверке категории «Книги».

  2. Создайте собственный тип сообщения, называемый «Книги», с 'rewrite' => array('slug' => 'books') . Поэтому URL-адреса архива книг и книги (публикации) будут выглядеть следующим образом: http://example.com/books/ и http://example.com/books/book-name/ , соответственно.

    Создайте пользовательскую таксономию «Тема», чтобы классифицировать книги.

    Используйте пользовательские файлы шаблонов archive-books.php, single-books.php и taxonomy-subject.php, чтобы настроить внешний вид (чтобы он больше напоминал книжную полку).

    Используйте плагин Advanced Custom Fields для отображения некоторых настраиваемых мета-полей на странице редактирования для настраиваемого типа сообщений – «Книги».

Какой из двух методов – лучший способ выполнить то, что я хочу? (Я имею в виду, как это должно быть сделано.)

Я все еще запутался в отношении того, предназначены ли для этой цели персонализированные почтовые типы; даже после прочтения этих:

  • Форматы сообщений и пользовательские типы сообщений

  • Почтовые типы и форматы и таксономии, о, мой!

Solutions Collecting From Web of "пользовательский тип сообщения против условного отображения метабоксов для определенных условий?"

Я начну с конца.

Почтовый формат – это таксономия с 9 условиями. Единственная причина, по которой они существуют, – это установить стандарт для разработчиков тем. После того, как термины будут всего 9, и имена терминов не могут быть изменены пользователями (пользователи могут выбирать их только с помощью переключателя при создании сообщений), разработчики темы могут создавать файлы шаблонов, такие как "taxonomy-post_format-gallery.php" будучи уверенным, что этот шаблон будет использоваться для архива сообщений с форматом post -gallery . Также можно использовать функцию has_post_format со специальным термином: это невозможно сделать со стандартными категориями или пользовательской таксономией, поскольку условия выбираются пользователями.

Например, если я создаю тему и помещаю где-то условное if ( has_category('foo') ) и моя тема используется другими людьми, я не могу быть уверен, что пользователи моей темы будут использовать категорию «foo» для своих сообщений, на произвольном, я могу использовать condional if ( has_post_format('gallery') ) потому что формат «галерея» является стандартным.

Короче говоря, почтовый формат – это своего рода категории со стандартными именами терминов, которые существуют, чтобы помочь разработчикам тем (особенно тем, которые продают или распространять темы) стилизовать сообщения в зависимости от их содержимого таким образом, который разделяется между тысячами тем, которые существуют для WP: даже если пользователь переключит тему, пост будет стилизован правильно, если обе темы поддерживают формат post.

Важно отметить, что почтовый формат может быть назначен только на стандартные должности, а не на CPT.

В вашем случае книга не является одним из 9 терминов, поэтому вы можете исключить почтовый формат.

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

Прежде всего, вы не должны определять структуру своего сайта на основе URL-адреса, а наоборот, вы должны настроить свои URL-адреса для «зеркального отображения» как можно ближе к структуре сайта.

Сказал, что вам следует подумать, что такое таксономии и какие типы сообщений.

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

В общем, одна информация может быть только одного типа, но может иметь разные характеристики : тип WordPress должен обрабатываться через типы сообщений, характеристики через таксономии.

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

В заключение вы должны использовать CPT для книги и группировать их в тему с использованием таксономии.

Что касается URL-адресов, я думаю, что стандартный example.com/books/ для книжного архива и example.com/books/a-book-name для одной книги может быть оптимальным, если у вас нет особых потребностей.