2017-08-28 1 views
0

Ich bin mir nicht ganz sicher, ob ich gerade blind bin, aber noch nicht 100% an Wordpress gewöhnt bin und ich würde gerne etwas Hilfe dabei haben.Wordpress Category Filter funktioniert nicht

Ich habe meine Blog-Posts Seite zeigt alle Blog-Posts es hat auch die Kategorien in der Seitenleiste, aber wenn eine Kategorie ausgewählt ist, ändert es die URI mit dem/Kategorien/Ereignisse, aber nicht den Inhalt der Beiträge, was sein sollte in der Kategorie?

<?php get_header(); ?> 
 

 
<div class="container posts"> 
 
    <div class="row"> 
 
    <div class="col-xs-8 col-md-8"> 
 
     <?php 
 
     $args = array (
 
      'post-type' => 'post' 
 
     ); 
 

 
     $post_query = new WP_Query($args); 
 
     if ($post_query->have_posts()) 
 
      while ($post_query->have_posts()) { 
 
      $post_query->the_post(); 
 
     ?> 
 
     <div class="post"> 
 
     <?php 
 
      the_post_thumbnail('large'); 
 
      echo '<a href="' . get_permalink() . '">'; 
 
      the_title('<h2>', '</h2>'); 
 
      echo '</a>'; 
 
      the_excerpt(); 
 
      echo do_shortcode("[icon name='fa-calendar-o']") . " "; 
 
      the_date("d F"); 
 
     ?> 
 
     </div> 
 
     <?php 
 
      } 
 
     ?> 
 
    </div> 
 
    <div class="col-xs-4 col-md-4"> 
 
     <?php get_sidebar(); ?> 
 
    </div> 
 
    </div> 
 
</div>

Irgendwelche Ideen? Dies ist ein vollständig individuelles WP-Thema von Anfang bis Ende, so dass ich etwas sehr einfaches vermisse und wenn jemand weiß, was das ist, würde ich es sehr schätzen.

+0

Und wo ist der Filtercode? –

+0

Nun, dieser Code erstellt ein brandneues 'WP_Query'-Objekt, das alle Posts abruft. Dies ist nicht der typische Weg, Dinge zu tun, nämlich einfach das existierende 'WP_Query'-Objekt zu verwenden, das von WordPress eingerichtet wurde und über die richtigen Parameter verfügt, um die Beiträge einer Kategorie auf einer Kategorieseite abzurufen die Template-Seite, die du gepostet hast? –

+0

@MattGibson Der Dateiname ist index.php Die Homepage ist ein separater Dateiname. Ich habe nie vorher Kategorien benötigt, also keine Ahnung, wie man so etwas zum Laufen bringt ... –

Antwort

0

Bevor Sie Ihre index.php Seite laden, hat WordPress ein WP_Query Objekt für Sie entsprechend der Seiten URL/Parameter eingerichtet. Auf der Hauptseite der Blog-Posts wird es also eine Abfrage sein, die alle Posts findet; Auf der Foo-Kategorieseite wird es eine Abfrage geben, die alle Beiträge in der Kategorie Foo findet.

In Ihrem vorhandenen Code ignorieren Sie dieses vorkonfigurierte Abfrageobjekt und erstellen ein neues, $post_query, das immer nur alle Beiträge erfasst. Aus diesem Grund ändern sich die Ergebnisse nicht, wenn eine Kategorie angezeigt wird.

Sie sollten speziell erstellte $post_query Objekt Dump und die grundlegenden Wordpress „The Loop“ Code verwenden, statt:

if (have_posts()) 
     while (have_posts()) { 
     the_post(); 
     ... 

Dies wird die WP_Query-Objekt verwenden, die für Sie von Wordpress eingerichtet worden ist. In der Regel erstellen Sie kein eigenes WP_Query Objekt, es sei denn, Sie machen etwas ungewöhnliches.

+0

Danke für die Unterstützung! –