Категория как класс для пользовательского типа сообщения

Я только что понял, что пользовательские типы сообщений не выводят категорию как класс в цикле через post_class и мне интересно, может ли кто-нибудь предложить работу. Это что-то, что должно быть объявлено, когда я устанавливаю свой тип сообщения или это расширение post_class ?

Например, на посту типа post класс выводит что-то вроде: class="post-50434 post type-post status-publish format-standard hentry category-my-lovely-category tag-some-ace-tag" но для моего Тип персонализированной почты категория не отображается.

— РЕДАКТИРОВАТЬ —

Вот немного моего кода, который может помочь прояснить, что я пытаюсь сделать – во-первых, хотя, на самом деле, я не пытаюсь получить класс на теле, а на статью в моем цикле:

 <?php $cat = get_the_category(); $parentCatName = get_cat_name($cat[0]->parent); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> data-category="<?php echo $parentCatName; ?>" data-title="<?php the_title(); ?>"> [...] </article> 

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

— РЕДАКТИРОВАТЬ —

Извините, возможно, небольшой опыт того, что я пытаюсь достичь, поможет – я постараюсь держать его в курсе:

  • Я использую макет изоляции изотопов

  • Я хочу фильтровать результаты с помощью атрибута «категория данных», добавленного к каждому сообщению во время цикла

  • Мои категории для нескольких типов сообщений (пост, продукт, курс) сгруппированы по общим родительским категориям

  • В моем цикле я поэтому хочу заполнить поле «категория данных» родительской категорией

Моя проблема возникает, поскольку я могу получить только категорию и, в свою очередь, родительскую категорию для стандартного типа сообщений по умолчанию, используя get_the_category.

Надеюсь, это имеет смысл.

Solutions Collecting From Web of "Категория как класс для пользовательского типа сообщения"

Это ожидаемое (или по крайней мере: спроектированное) поведение.

Вот часть Кодекса:

post_class CSS post_class отображаются на основе условных тегов post pageview следующим образом.

категория
Сегменты классов в файлах шаблонов шаблонов категорий и просмотров страниц имеют следующие категории: post post id id-category-name-name

Конечно, вы можете подключить пользовательскую функцию фильтра к фильтру post_class .

// РЕДАКТИРОВАТЬ
Согласно вашему обновленному вопросу, вот обновленный код:

 <?php $cat = wp_get_post_terms(get_the_ID(), 'category'); $parentCatName = get_cat_name($cat[0]->parent); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> data-category="<?php echo $parentCatName; ?>" data-title="<?php the_title(); ?>"> [...] </article> 

Если вы также хотите добавить несколько классов сообщений, сделайте это так:

 post_class('category-'.$parentCatName);