it-swarm.com.de

Wordpress-Taxonomie und Archivierungsklasse

Ich möchte eine benutzerdefinierte Klasse hinzufügen. Das Archiv und die benutzerdefinierte Taxonomie werden jedoch gleichzeitig ausgeführt. Wenn ich der Taxonomieseite eine Klasse hinzufügen möchte, wird auch die Archivklasse hinzugefügt. Ich verstehe, Taxonomie ist auch eine Art Archiv. Aber ich möchte der Taxonomie keine Archivklasse hinzufügen. Wie kann ich nur Taxonomieklassen hinzufügen?

Mein Ansatz dazu

    function fotogruf_layout_class(){  
    if (is_search()) {
        echo $search_layout_class;
    }

    if( (is_post_type_archive('gallery')) || (taxonomy_exists('gallery_category')) ){
        echo $gallery_layout_class;
    }
    if (is_archive()) {
        echo $archive_layout_class;
    }       
}

Die Suchseite funktioniert einwandfrei. Die Taxonomie-Seite fügt aber auch eine Klasse aus der Archivklasse hinzu. Ich möchte nicht, dass die Archivklasse auf der Taxonomieseite hinzugefügt wird.

1
ashraf

Fügen Sie Ihrem is_archive() -Test eine weitere Bedingungsebene hinzu, sodass Ihre Archivklasse nur ausgegeben wird, wenn die beiden anderen NICHT wahr sind:

function fotogruf_layout_class(){  
    if ( is_search() ) {
        echo $search_layout_class;
    }

    if ( (is_post_type_archive('gallery') ) || ( taxonomy_exists('gallery_category') ) ){
        echo $gallery_layout_class;
    }

    if ( is_archive() ) {
        if ( ( !is_post_type_archive('gallery') ) || ( !taxonomy_exists('gallery_category') ) ) {
            echo $archive_layout_class;
        }
    }       
}

Die in WPs eingebauten Body-Klassen erledigen dies möglicherweise automatisch für Sie, wenn sie implementiert werden. Möglicherweise jedoch nicht in dem Detailgrad, den Sie suchen. https://developer.wordpress.org/reference/functions/body_class/

0
jdm2112