2017-02-13 86 views
1

當前cateogry我有顯示包含職位的任何類別,並顯示他們(像一個小菜單)一個小腳本在WordPress的類別菜單

<?php 
    $categories = get_categories(array(
     'orderby' => 'name', 
     'order' => 'ASC' 
)); 
    echo '<a class="blog-panel-cat-menu bg-color-1" href="' . get_permalink(get_option('page_for_posts')) . '">All</a>'; 
    foreach($categories as $category) { 
     if ($category->count > 0){ 
     $category_link = sprintf( 
      '<a class="blog-panel-cat-menu bg-color-1" href="%1$s" alt="%2$s">%3$s</a>', 
      esc_url(get_category_link($category->term_id)), 
      esc_attr(sprintf(__('View all posts in %s', 'textdomain'), $category->name)), 
      esc_html($category->name) 
     ); 
     echo $category_link; 
     } 
    } 
?> 

當任何點擊鏈接會重定向到該顯示頁帖子該類別如mywebsite/news/category/blog/mywebsite/news/category/news/mywebsite/news作爲博客主頁,顯示所有類別)

當我在mywebsite/news/category/blog/我想要的「博客」,在菜單鏈接到已有的類blog-cat-focus當前類在後像這樣的foreach循環<a class="blog-panel-cat-menu bg-color-1 blog-cat-focus" href="%1$s" alt="%2$s">%3$s</a>

回答

0

試試看看這個代碼。增加了兩條線來檢查當前類別。

<?php 
    $categories = get_categories(array(
     'orderby' => 'name', 
     'order' => 'ASC' 
)); 
$category = get_category(get_query_var('cat')); 
    echo $cat_id = $category->cat_ID; 
    echo '<a class="blog-panel-cat-menu bg-color-1" href="' . get_permalink(get_option('page_for_posts')) . '">All</a>'; 
    foreach($categories as $category) { 
     if ($category->count > 0){ 
      $cust_class = ''; 
      if($category->term_id==$cat_id){$cust_class = 'blog-cat-focus';} 
     $category_link = sprintf( 
      '<a class="blog-panel-cat-menu bg-color-1 %4$s>" href="%1$s" alt="%2$s">%3$s</a>', 
      esc_url(get_category_link($category->term_id)), 
      esc_attr(sprintf(__('View all posts in %s', 'textdomain'), $category->name)), 
      esc_html($category->name), 
      $cust_class 

     ); 
     echo $category_link; 
     } 
    } 
?> 
+0

太棒了!謝謝! – snookian

+0

很高興知道它爲你工作。 –