Fügen Sie dem benutzerdefinierten Posttyp benutzerdefinierte CSS-class hinzu

Ich habe einen benutzerdefinierten Post-Typ namens “Song” in der Installation erstellt. Ich laufe auf ein Thema namens fabulous

Wenn ich die Autorenarchivseite mit benutzerdefinierten Posts angesehen habe, wurden die Posts nicht korrekt angezeigt (Fehler in CSS-Konfigurationen). Ich verwende den folgenden Code, um benutzerdefinierte Beiträge auf der Autorenseite anzuzeigen.

 function custom_post_author_archive($query) { if ($query->is_author) $query->set( 'post_type', 'song' ); remove_action( 'pre_get_posts', 'custom_post_author_archive' ); } add_action('pre_get_posts', 'custom_post_author_archive'); 

Die Archivseite mit normalen Posts wird jedoch angezeigt (wenn die obige function nicht verwendet wird). Als ich die Codes überprüft habe, ist mir aufgefallen, dass mehrere CSS-classn im

-Tag fehlen. Ich habe die fehlenden CSS-classn im Entwicklermodus des Browsers hinzugefügt und die Lieder korrekt angezeigt.

Bei den fehlenden CSS-classn handelte es sich um die song-entry masonry-entry loop-entry clr span_1_of_3

Ich habe die benutzerdefinierte Post-Typ-Benutzeroberfläche verwendet , um den benutzerdefinierten Beitragstyp- Song zu erstellen.

Meine Frage ist, wie kann ich dem

-Tag die fehlenden CSS-classn hinzufügen, damit die Beiträge korrekt angezeigt werden?

Hinweis: Ich habe diese Frage versucht und konnte nicht verstehen, was genau zu tun ist.

Solutions Collecting From Web of "Fügen Sie dem benutzerdefinierten Posttyp benutzerdefinierte CSS-class hinzu"

Schauen Sie sich post_class() . Überprüfen Sie, ob das Thema es verwendet (jedes gute Thema sollte). Wenn dies der post_class können post_class Filter post_class , um dem Container geeignete classn hinzuzufügen.

Hier ist ein Beispiel, wie Sie diesen Filter verwenden können

 add_filter('post_class', function($classes){ if(!is_singular('song')) return $classes; $additional_classes = array('song-entry', 'masonry-entry', 'col-', 'loop-entry', 'col', 'clr', 'span_1_of_3'); $classes = $classes + $additional_classes; return $classes; }); 

Ich hoffe es hilft. Code nicht getestet