Frage

Ich versuche, alle Beiträge auszuschließen, in denen keine Kategorie aus der Hauptschleife zugewiesen ist. Ich habe überall gesucht und habe eine Milliarde Möglichkeiten gefunden, einige Kategorien auszuschließen oder aus einer bestimmten Kategorie zu filtern, aber nicht das, was ich tun muss, ist, ist, ist, ist, ist es passte?

War es hilfreich?

Lösung

Hi @Raffaele:

Die Funktion wp_get_object_terms(...) kann Ihnen die Informationen zur Verfügung stellen, die Sie benötigen. Ich habe a geschrieben has_category($post_id) Funktion, die in der Schleife wie folgt verwendet werden kann:

<?php while ( have_posts() ) : the_post(); ?>
   <?php if (has_category($post->ID)): ?>
      <p><?php the_title(); ?></p>
   <?php endif; ?>
<?php endwhile; ?>

Und hier ist das has_category() Funktion:

<?php
function has_category($post_id) {
  $has_category = false;
  $terms = wp_get_object_terms($post_id,'category');
  if (is_array($terms)) {
    foreach($terms as $index => $term)
      if ($term->slug=='uncategorized')
        unset($terms[$index]);
    $has_category = (count($terms)>0);
  }
  return $has_category;
}

Beachten Sie, dass mein has_category() Funktion behandelt Beiträge mit dem 'uncategorized' Kategorie als Kategorie. Es gibt wahrscheinlich leistungsfähigere Möglichkeiten, dies zu erreichen, aber was Sie oben sehen, sollte funktionieren.

-Mike

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top