dragunoff

[WP] Postlist navigation by category

Mar 24th, 2011
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.34 KB | None | 0 0
  1. <?php
  2.  
  3. // set category list
  4. $categories = array('collections', 'special_projects', 'press');
  5.  
  6. // start building an array of post listings by category
  7. $cat_nav = array();
  8.  
  9. foreach ( $categories as $category ) {
  10.  
  11.     // get category data
  12.     $category = get_term_by( 'slug', $category, 'category' );
  13.    
  14.     // start building link
  15.     $cat_nav[$category->slug] = "<li><a href='#' id='link_for_list_of_{$category->slug}'>{$category->name}</a>";
  16.    
  17.         // build list
  18.         $cat_nav[$category->slug] .= "<ul id='list_of_{$category->slug}'>";
  19.        
  20.         // get posts from category
  21.         $myposts = get_posts('category_name=' . $category->slug);
  22.  
  23.         foreach ( $myposts as $mypost ) {
  24.            
  25.             // add each link to the array
  26.             $cat_nav[$category->slug] .= "<li><a href='" . get_permalink($mypost->ID) . "'>" . get_the_title($mypost->ID) . "</a></li>\n\n";
  27.  
  28.         }
  29.        
  30.         $cat_nav[$category->slug] .= "</ul>";
  31.        
  32.     $cat_nav[$category->slug] .= "</li>";
  33.    
  34. }
  35.  
  36.  
  37. // now let's build nav menu
  38. $navmenu = "<ul id='nav'>";
  39.    
  40.     $navmenu .= $cat_nav['collections'];
  41.  
  42.     $navmenu .= $cat_nav['special_projects'];
  43.    
  44.     $navmenu .= wp_list_pages('include=26,18,20&title_li=&echo=0');
  45.  
  46.     $navmenu .= $cat_nav['press'];
  47.    
  48.     $navmenu .= wp_list_pages('include=7,24&title_li=&echo=0');
  49.  
  50. $navmenu .= "</ul> <!--end of Nav-->";
  51.  
  52. // and print it out
  53. echo $navmenu;
Advertisement
Add Comment
Please, Sign In to add comment