2016-04-15 4 views
0

Ich habe alle meine Kategorien auf einer Seite durch die Schleife angezeigt und wann immer ich auf eine Kategorie klicke wird ihre ID übergeben und Beiträge zu dieser Kategorie werden angezeigt. Aber es zeigt auch die ID dieser Kategorie in der URL. was ich will ist, etwas zu tun, in dem URL den Namen der bestimmten Kategorie zeigt, auf die ich geklickt habe. Dafür habe ich versucht, Name der Kategorie in der Verbindung dann die ID zu lösen löst das Problem der URL dh Kategorie Name erscheint in der URL aber es verursacht ein anderes Problem, dass es die Pfosten dieser Kategorie nicht öffnet, aber Fehler zeigt Seite nicht gefunden: meinen Code für alle Kategorien anzuzeigen, ist dies:Wie man Beiträge einer bestimmten Kategorie öffnet und seinen Namen in der URL gibt?

<?php 
foreach ($categories as $cat) { 
    $id = $cat->term_id; 
    //$name = $cat->cat_name; 



    echo '<a href="'.get_site_url() . '/state_league_archives?id='.$id.'">'.$cat->cat_name.'</a>'; 

?> 
<hr> 

         <?php 
} 


    ?> 

und diese ID i auf der Archivseite bekommen, wie diese ihre Beiträge zeigen:

 <?php 
$cat_id= $_GET['id']; 

     $args = array('showposts'=>25, 'category' => '$cat_id' ,'post_type'=>'stateleague-pos-type','category__in'=>array($cat_id)); 
$query = new WP_Query($args); 
     while ($query->have_posts()) : $query->the_post(); ?> 
     <h1><a href="<?php echo the_permalink();?>"><?php the_title();?></a></h1> 
     <?php the_content(); ?> | 
     <a href="<?php the_permalink(); ?>"> 
            Read more 
           </a> 
     <div class="row"> 
          <div class="ct-divider"> </div> 
         </div> 

     <?php endwhile; ?> 
+0

Sie ersetzen das Echo ''.$cat->cat_name.'' –

Antwort

0

Ich denke, Sie sollten zu Einstellungen gehen-> Permalinks und wählen Sie Post-Namen in allgemeinen Einstellungen. Dies sollte dein Problem lösen.

auch ändern Link zu:

echo '<a href="'.get_term_link($cat).'">'.$cat->name.'</a>'; 
0

Versuchen Sie diese Zeile zu ändern:

echo '<a href="'. get_category_link($id) . '">'.$cat->cat_name.'</a>'; 
+0

es erfullt meine eine Anforderung nicht die andere. es übergibt den Namen der Kategorie in der URL, aber es öffnet keine Beiträge dieser Kategorie statt gibt Fehler: Nothing Found Es scheint, wir können nicht finden, was Sie suchen. Vielleicht kann das Suchen helfen. –

+0

Gibt es eine Möglichkeit, diese Zeile nicht zu ändern und auch die Kategorie-ID an die nächste Seite zu übergeben? –

+0

Versuchen Sie Permalinks zu ändern und kehren Sie dann zurück - dadurch wird der Cache gelöscht. Seitdem solltest du nicht gefunden haben. –

Verwandte Themen