Recent Posts – neue Artikel – nur aus Unterkategorien von Kategorie X

Neue Artikel nur von den Unterkategorien aus Kategorie X
Neue Artikel nur von den Unterkategorien aus Kategorie X

Wie Du die neuesten Artikel nur aus den Unterkategorien einer bestimmten Kategorie anzeigen und den Namen der Unterkategorie dazuschreiben kannst.

Du hast Deine Artikel in Hauptkategorien und vielen Unterkategorien geordnet und nun soll in der Sidebar oder sonst wo außerhalb des normalen Loops 5 allerneueste Artikel aus den Unterkategorien der Kategorie X erscheinen.
Wichtig ist dir dabei, dass der Name der Unterkategorie dabeisteht, weil dies für deine Seite „wichtig“ ist. zb Vereinsseiten, Sportseiten, Produktseiten oder weil Du es einfach haben magst ;)

Ich bringe hier eine Lösung, die dann sehr gut funktioniert, wenn ein Artikel /Beitrag wirklich nur in einer einzigen Kategorie gespeichert ist.

Das html der gezeigten Lösung und die ID und Anzahl der gezeigten Artikel musst Du anpassen.


<h4>neue Artikel recent posts</h4>
<ul>
<?php
//hole die Artikel aus den Child /Subkategorien der Hauptkategorie $myparentcat
$myparentcat = 3;
$taxonomy = 'category';
$myparentcat_children = get_term_children( $myparentcat, $taxonomy );

$args=array(
  'category__in' => $myparentcat_children,
  'post_status' => 'publish',
  'posts_per_page' => 9,
  'ignore_sticky_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
  echo 'Liste der Artikel aus Unterkategorien einer bestimmten Kategorie';
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <li>
<?php $category = get_the_category(); 
echo $category&#91;0&#93;->cat_name;
?>
  <a   href="<?php the_permalink() ?>"  title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
  </li>
  <?php  endwhile; 
  }
wp_reset_query();  //wichtig damit nachfolgende loops gut funktionieren
?></ul>

Wenn Du dir obigen Code ganz langsam durchliest und dabei die englischen Worte einfach übersetzt erklärt sich der Code wie von selbst.
myparentcat ist ein frei gewählter Name, den ich immer so benenn, damit ich weiß was diese Variable macht, in dem Fall soll sie mir die ID der von mir gewünschten Hauptkategorie „beinhalten“.

Genauso myparentcat_children, diese Variable soll eben die „Kinder“ holen ;).

Das hier kannst du erstens textlich ändern oder komplett löschen:


echo 'Liste der Artikel aus Unterkategorien einer bestimmten Kategorie';


ignore_sticky_posts ersetzt das veraltete caller_get_post und bedeutet Beiträge,die du als „sticky“ definiert hast sollen ignoriert werden.

Aber das hier zeigt eben den Namen der Unterkategorie an.

<?php $category = get_the_category(); 
echo $category&#91;0&#93;->cat_name;
?>

$category[0] bringt die erste Kategorie im „array“. Daher darauf achten, dass der Artikel //Beitrag wirklich nur in einer Kategorie gespeichert ist oder damit leben, dass hier auch eine andere Hauptkategorie stehen kann, weil der Artikel//Beitrag nicht nur in der Unterkategorie von Kategorie X gespeichert ist, sondern auch nochmals in einer anderen Hauptkategorie.

Wie immer, hat wer eine andere Lösung oder bessere => ich freue mich darauf!

Wars hilfreich freu ich mich übers Weitersagen oder einfach ein +1
2

2 Beiträge zu “Recent Posts – neue Artikel – nur aus Unterkategorien von Kategorie X

  1. Kommentar Autor
    Connie
    Kommentar

    Hallo Monika,
    dann schau ich mal ob ich diese Infos auf mein Problem übertragen kann, ich möchte, allerdings im Loop, unter einem Artikel „Hauptkategorie > Kategorie“ ausgeben, get_categorylist() sortiert die aber falsch rum (Kategorie => Hauptkategorie) und hat keinen sortorder-parameter, und so stocher ich schon eine Weile wie ich das hinkriege

    vielleicht kommt mir ja ein Geistesblitz

    merci, Connie

  2. Kommentar Autor
    Monika
    Kommentar

    Hi Connie
    ich gebe zu, dass ich keine Ahnung habe was bei Dir get_categorylist falsch macht ;)
    außer du hast einen Artikel mehreren Hauptkategorien UND in Unterkategorien und vom beidem rate ich prinzipiell ab. Du sortierst deine Strümpfe oder Socken auch nicht in hunderttausend Laden ein, weil du nämlich sonst den Überblick verlierst ;)