it-swarm.com.de

Erstellen von Archivseiten für untergeordnete Kategorien

Beispiel:

video Katzen ID = 4 Video Katzen Kind Kategorie ID = 7,8,9 Nachrichten Katzen ID = 5 Nachrichten Katzen Kind Kategorie ID = 11,12,13

Ich möchte ausgewählte Kategorien (wie Videos und News) in den verschiedenen archive.php anzeigen?

Ist es möglich, danke.

(Entschuldigung wegen meinem schlechten Eng)

Danke für Chris S, aber es ist nicht das, was ich tun möchte.

  <?php
$catPosts = new WP_Query();
$catPosts->query( array( 'category__and' => array(5,11,12,13), 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC' ) );
  while ($catPosts->have_posts()) : $catPosts->the_post(); ?>
  <h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
  <div class="meta">
   By <?php the_author() ?>
  </div>
<div class="content">
  <?php the_excerpt(); ?>
</div>

Wenn ich die Elternkategorie-ID schrieb, möchte ich nicht seine Kindkategorie-IDs schreiben. Wenn ich die Elternkategorie-Identifikation wähle, sollte das System seine Kindkategorie-Identifikation in der gleichen Archivseite.

2
Fatih Toprak

Erstelle 2 Seiten category-news.php & category-video.php & gib diesen Code ein. Passen Sie dann das Markup für beide nach Ihren Wünschen an

<?php
$children = get_categories('child_of'=>get_query_var('cat'));
$cat = array(get_query_var('cat'));
foreach($children as $child)
    $cat[] = $child->term_id;
$catPosts = new WP_Query( array( 'category__in' => $cat, 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC' ) );
  while ($catPosts->have_posts()) : $catPosts->the_post(); ?>
  <h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
  <div class="meta">
   By <?php the_author() ?>
  </div>
<div class="content">
  <?php the_excerpt(); ?>
</div>
0
Mridul Aggarwal

Ein Blick in dieVorlagenhierarchiein WordPress könnte hilfreich sein. Mit WordPress können Sie verschiedene Vorlagen für verschiedene Kategorien verwenden, basierend auf Category Slug (category-{slug}.php) oder Category ID (category-{id}.php).

Für verschiedene Beitragstypen können Sie archive-{post_type}.php eingeben.

Im Wesentlichen können Sie einfach archive.php kopieren und in category-{slug}.php, category-{id}.php oder archive-{post_type}.php umbenennen (je nachdem, was am besten zu Ihnen passt) und dann den vorhandenen Code in der Vorlage an Ihre Bedürfnisse anpassen. Nur ein Gedanke.

1
its_me

Sie wissen also bereits, dass Sie für jede Kategorie eine Vorlage archive-category.php erstellen müssen. Innerhalb jeder Vorlage würden Sie eine benutzerdefinierte Abfrage für jede dieser Kategorien und ihre untergeordneten Kategorien aufrufen. Zum Beispiel:

<?php
$catPosts = new WP_Query();
$catPosts->query( array( 'category__in' => array(5), 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC' ) );
  while ($catPosts->have_posts()) : $catPosts->the_post(); ?>
  <h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
  <div class="meta">
   By <?php the_author() ?>
  </div>
<div class="content">
  <?php the_excerpt(); ?>
</div>

Diese zeigt die Kategorie "Nachrichten" einschließlich der Kinder. Beachten Sie, dass Sie beliebige eigene Tags platzieren können, um den gewünschten HTML-Code auszugeben.

0
chris_s