Kategorie als class für benutzerdefinierten Posttyp

Ich habe gerade erst festgestellt, dass benutzerdefinierte Post-Typen die Kategorie nicht als class in der Schleife post_class , über post_class und ich frage mich, ob jemand eine Arbeit vorschlagen kann. Ist das etwas, das deklariert werden sollte, wenn ich meinen Post-Typ post_class oder ist das eine Erweiterung von post_class ?

Zum Beispiel gibt die class bei einem Post vom Typ post etwas aus: class="post-50434 post type-post status-publish format-standard hentry category-my-lovely-category tag-some-ace-tag" aber für meine benutzerdefinierter Beitragstyp Die Kategorie wird nicht angezeigt.

– BEARBEITEN –

Hier ist ein Teil meines Codes, der helfen könnte zu verdeutlichen, was ich versuche zu tun. Erstens versuche ich nicht, die class auf den Körper zu bringen, sondern auf den Artikel in meiner Schleife:

 parent); ?> <article id="post-"  data-category="" data-title=""> [...]  

Das Problem, das ich habe, ist das Abrufen der Kategorie-Informationen für benutzerdefinierte Post-Typen auf die gleiche Weise wie für den Standard-Post-Typ.

– BEARBEITEN –

Tut mir leid, vielleicht hilft ein kleiner Hintergrund, was ich erreichen will – ich werde versuchen, es kurz zu halten:

  • Ich benutze Isotope Maurerarbeitplan

  • Ich möchte die Ergebnisse nach einem “Datenkategorie” -Attribut filtern, das jedem Beitrag während der Schleife hinzugefügt wird

  • Meine Kategorien für mehrere Post-Typen (Post, Produkt, Kurs) sind in gemeinsamen übergeordneten Kategorien gruppiert

  • In meiner Schleife möchte ich daher dieses Feld ‘Datenkategorie’ mit der übergeordneten Kategorie füllen

Mein Problem tritt auf, da ich die Kategorie und damit die übergeordnete Kategorie nur für den standardmäßigen benutzerdefinierten Posttyp mit get_the_category abrufen kann.

Ich hoffe, das macht Sinn.

Solutions Collecting From Web of "Kategorie als class für benutzerdefinierten Posttyp"

Dies ist erwartetes (oder zumindest: entworfenes) Verhalten.

Hier ist ein Teil des Codex:

Die CSS-classn post_class werden basierend auf den Bedingungs-Tags nach dem Seitenaufruf wie folgt post_class .

Kategorie
Kategorievorlagendateien und Seitenaufrufe, die Beiträge anzeigen, enthalten die classnselektoren: post post-id category-ID category-name

Natürlich können Sie eine benutzerdefinierte Filterfunktion an den post_class Filter post_class .

// BEARBEITEN
Entsprechend Ihrer aktualisierten Frage, hier ist der aktualisierte Code:

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

Wenn Sie auch einige Post-classn hinzufügen möchten, tun Sie das wie folgt:

 post_class('category-'.$parentCatName);