2017-02-09 5 views
0

Wie mit diesem Code nur die "verwandten Beiträge nach Kategorie" anzeigen? Dieser Code ist in der "single.php" Ich habe Stackoverflow nicht aber konnte keine Lösung finden. Kann mir jemand helfen?Related posts Kategorie in WordPress (Taxonomie)

<?php 
    $postsPerPageq = 5; 

       $allargw = array(
       'post_type' => 'audioplayer', 
       'posts_per_page' => $postsPerPageq, 
       'orderby' => 'title', 
       'order' => 'DESC', 
      'tax_query' => array(
     array(
      'taxonomy' => 'audiotop', 
      'field' => 'slug', 
      'terms' => 'top-audio' 
     ) 
    ) 
      ); 
       $topaudio = new WP_Query($allargw); 
    while ($topaudio->have_posts()) : $topaudio->the_post(); 


    ?> 

<h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3> 


<?php endwhile; wp_reset_postdata();?> 
+1

Überprüfen Sie Folgendes: - http://wordpress.stackexchange.com/a/41273 ODER http://wordpress.stackexchange.com/questions/30039/how-to-display-related-posts-from-same- Kategorie –

Antwort

0

Kategorie hinzufügen Name in Ihrem allargw Array-Wert ..

<?php 
    $postsPerPageq = 5; 

      $allargw = array(
      'post_type' => 'audioplayer', 
      'posts_per_page' => $postsPerPageq, 
      'category_name'=>'Your category name', 
      'orderby' => 'title', 
      'order' => 'DESC', 
     'tax_query' => array(
    array(
     'taxonomy' => 'audiotop', 
     'field' => 'slug', 
     'terms' => 'top-audio' 
    ) 
) 
     ); 
      $topaudio = new WP_Query($allargw); 
while ($topaudio->have_posts()) : $topaudio->the_post(); 


?> 

<h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3> 

Hoffnung hilft Ihnen dies !!

Aktualisiert Antwort:

Wenn Sie Kategorie hinzufügen möchten automatisch wie folgt verwenden ..

wp_set_object_terms('your_post_id', 'your_category_name', 'your_taxonomy_name'); 

Sie können dies versuchen ..

+0

Hallo, aber wie Kategorie automatisch hinzufügen? , Beispiel: Der Benutzer greift auf einen Beitrag der Kategorie 1 zu. Dann werden "verwandte Beiträge" nur Beiträge der Kategorie 1 anzeigen. "Dasselbe gilt für eine Kategorie 2, Kategorie 3 und so weiter. –

+0

Eigentlich möchten Sie einen Beitrag einfügen und automatisch eine Kategorie einfügen?" – Preethi

0

wenn Sie Beiträge zum Abrufen durch einfache Beiträge Kategorie möchten dann überprüfen Sie diesen Code:

<?php 
    $category = get_the_category($post->ID); 
    $cat_id = $category[0]->term_id; 
    $postsPerPageq = 5; 
    $allargw = array(
       'post_type' => 'audioplayer', 
       'posts_per_page' => $postsPerPageq, 
       'orderby' => 'title', 
       'order' => 'DESC', 
       'cat' => $cat_id 

      ); 
    $topaudio = new WP_Query($allargw); 
    while ($topaudio->have_posts()) : $topaudio->the_post(); ?> 
     <h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3> 
    <?php endwhile; wp_reset_postdata();?> 

sonst, wenn Sie abrufen möchten Beiträge von benutzerdefinierten Taxonomie dann überprüfen Sie den folgenden Code:

Hoffe, das wird Ihnen helfen.

+0

Hallo, aber wie Kategorie automatisch hinzufügen? Beispiel: Der Benutzer greift auf eine Kategorie zu Dann werden in "verwandten Posts" nur Posts der Kategorie 1 automatisch angezeigt. Dasselbe passiert mit Kategorie 2, Kategorie 3 usw. –

+0

Bitte verdeutlichen Sie eines: Jeder Post ist nur einer Kategorie zugeordnet:. also post1-> kategorie1, post2-> kategorie2, post3-> kategorie1, post4-> kategorie-> 2, nicht so: post1-> kategorie1, kategorie2, post2-> kategorie3, kategorie1, sonst wird es sehr schwer zu identifizieren sein –

+0

Wenn jeder Beitrag einer Kategorie zugewiesen ist, dann finde meinen aktualisierten Code. –

1

Zuerst müssen Sie aktuelle Post Begriffe mit dieser Funktion

get_the_terms (get_the_id(), 'your_custom_taxonomy'); 

dann Sie die Bedingungen für tax_query in Ihrem WP_Query Slug greifen greifen.

$postsPerPageq = 5; 
$terms_slugs = array(); 

//get the current post terms slug 
$terms = get_the_terms(get_the_id(), 'audiotop'); 
foreach ($terms as $term) { 
    $terms_slugs[] = $term->slug; 
} 

//WP_Query args 
$allargw = array(
    'post_type' => 'audioplayer', 
    'posts_per_page' => $postsPerPageq, 
    'orderby' => 'title', 
    'order'  => 'DESC', 
    'tax_query' => array(
    array(
     'taxonomy' => 'audiotop', 
     'field' => 'slug', 
     'terms' => $terms_slugs, 
    ) 
    ) 
); 

ich hoffe, dass Sie Ihr Problem lösen.

Verwandte Themen