2009.2013

113

非插件让WordPress实现自动调用相关文章

Wordpress by FG

在Wordpress文章后面列出相关文章,可以方便读者浏览更多相关的内容,通过下面的代码即可实现自动显示相关文章(按分类)。

首先,将下面的代码粘贴到你的主题functions.php文件中:

  1. // “More from This Category” list by Barış Ünver @ Wptuts+
  2. function wptuts_more_from_cat( $title = “More From This Category:” ) {
  3.     global $post;
  4.     // We should get the first category of the post
  5.     $categories = get_the_category( $post->ID );
  6.     $first_cat = $categories[0]->cat_ID;
  7.     // Let’s start the $output by displaying the title and opening the <ul>
  8.     $output = ‘<div id=”more-from-cat”><h3>’ . $title . ‘</h3>’;
  9.     // The arguments of the post list!
  10.     $args = array(
  11.         // It should be in the first category of our post:
  12.         ‘category__in’ => array( $first_cat ),
  13.         // Our post should NOT be in the list:
  14.         ‘post__not_in’ => array( $post->ID ),
  15.         // …And it should fetch 5 posts – you can change this number if you like:
  16.         ‘posts_per_page’ => 5
  17.     );
  18.     // The get_posts() function
  19.     $posts = get_posts( $args );
  20.     if( $posts ) {
  21.         $output .= ‘<ul>’;
  22.         // Let’s start the loop!
  23.         foreach( $posts as $post ) {
  24.             setup_postdata( $post );
  25.             $post_title = get_the_title();
  26.             $permalink = get_permalink();
  27.             $output .= ‘<li><a href=”‘ . $permalink . ‘” title=”‘ . esc_attr( $post_title ) . ‘”>’ . $post_title . ‘</a></li>’;
  28.         }
  29.         $output .= ‘</ul>’;
  30.     } else {
  31.         // If there are no posts, we should return something, too!
  32.         $output .= ‘<p>Sorry, this category has just one post and you just read it!</p>’;
  33.     }
  34.     // Let’s close the <div> and return the $output:
  35.     $output .= ‘</div>’;
  36.     return $output;
  37. }

之后,打开single.php文件,在适当位置添加调用函数:

  1. <?php echo wptuts_more_from_cat( ‘More From This Category:’ ); ?>

原文:http://www.wprecipes.com/how-to-automatically-insert-a-list-of-related-articles-below-the-post