it-swarm.com.de

Wie verstecke ich einen bestimmten Kategorieeintrag in meinem monatlichen Archiv?

Ich verwende das elfundzwanzig-Thema in meiner WordPress-Site.

In Beiträgen habe ich zwei Kategorien. Eins ist Blogs und anderes ist Nachrichten.

Das monatliche Archiv zeigt die Beiträge aller Kategorien an, während ich möchte, dass das monatliche Archiv nur die Beiträge der Kategorie Blogs anzeigt.

Wie mache ich das?

Ich habe auch das Plugin wp_pagenavi für die Paginierung installiert.

3
Ahmad

Es gibt zwei Möglichkeiten:

Sie können einen Filter verwenden, um die Abfrage beim Anzeigen einer Archivseite zu ändern. Sie müssen die ID Ihrer Kategorie "Blogs" finden (Sie können sie mit get_term_by aus dem Slug abrufen). Alternativ können Sie eine bestimmte Kategorie nach ID ausschließen.

add_action( 'pre_get_posts', 'my_change_query'); 
    function my_change_query($query){
        if(is_archive()){
           $blog_term = get_term_by('slug', 'blogs', 'category');
           $blog_term_id = $blog_term->term_id;
           $query->set('cat', $blog_term_id);//Include category with ID $blog_term_id
           //$query->set('cat','-'.$blog_term_id);//Exclude category with ID  $blog_term_id
        }  
     return $query
    };

oder Sie können die archive.php-Vorlagendatei häufiger ändern und Folgendes direkt über der if(have_posts()) einfügen.

global $wp_query;
$args = array_merge( $wp_query->query, array( 'category_name' => 'blogs' ) );
query_posts( $args );

Siehe den Codex auf query_posts und WP_Query .

6
Stephen Harris