WordPress-在首页上显示某些类别

【WordPress-在首页上显示某些类别】我一直在尝试更改当前代码, 但是对我来说这没有任何意义(它没有做到我所告诉的那样)。我只想在首页上显示类别为13的帖子, 并且希望能够为帖子添加多个类别。

  • 第1个帖子(类别13和1)=显示在首页上
  • 第2个帖子(类别13、4和5)=显示在首页上
  • 第3个帖子(类别6和1)=在首页上不可见
  • 第4个帖子(类别2)=在首页上不可见
这是我当前的代码, 仅在首页上显示类别13, 如果在帖子中添加了其他类别, 则根本不会显示该类别。
< ?php get_header(); ?> < div id="primary"> < div id="content" role="main"> < ?php if (is_home()) { query_posts("cat=-6, -4, -1, -11"); } ?> < ?php if ( have_posts() ) : ?> < ?php twentyeleven_content_nav( 'nav-above' ); ?> < ?php /* Start the Loop */ ?> < ?php while ( have_posts() ) : the_post(); ?> < ?php get_template_part( 'content', get_post_format() ); ?> < ?php endwhile; ?> < ?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'cat' => 13, 'posts_per_page' => 5, 'paged' => $paged); query_posts($args); ?> < ?php twentyeleven_content_nav( 'nav-below' ); ?> < ?php else : ?> < article id="post-0" class="post no-results not-found"> < header class="entry-header"> < h1 class="entry-title"> < ?php _e( 'Geen berichten beschikbaar', 'twentyeleven' ); ?> < /h1> < /header> < !-- .entry-header --> < div class="entry-content"> < p> < ?php _e( 'Helaas, er zijn nog geen gearchiveerde berichten in deze categorie. ', 'twentyeleven' ); ?> < /p> < ?php get_search_form(); ?> < /div> < !-- .entry-content --> < /article> < !-- #post-0 --> < ?php endif; ?>

#1你在此代码中看起来太费劲了。你不需要排除任何内容, 只需要包括cat 13, 它将包括cat 13中的所有内容;即使在其他类别中也是如此。像这样运行常规的WP_Query()即可:
< ?php get_header(); ?> < div id="primary"> < div id="content" role="main"> < ?php if (is_home()) { // The Query $the_query = new WP_Query("cat=13, paged=".get_query_var('paged')); } ?> < ?php if ( have_posts() ) : ?> < ?php twentyeleven_content_nav( 'nav-above' ); ?> < ?php /* Start the Loop */ ?> < ?php while ( $the_query-> have_posts() ) : $the_query-> the_post(); ?> < ?php get_template_part( 'content', get_post_format() ); ?> < ?php endwhile; ?> < ?php twentyeleven_content_nav( 'nav-below' ); ?> < ?php else : ?> < article id="post-0" class="post no-results not-found"> < header class="entry-header"> < h1 class="entry-title"> < ?php _e( 'Geen berichten beschikbaar', 'twentyeleven' ); ?> < /h1> < /header> < !-- .entry-header --> < div class="entry-content"> < p> < ?php _e( 'Helaas, er zijn nog geen gearchiveerde berichten in deze categorie. ', 'twentyeleven' ); ?> < /p> < ?php get_search_form(); ?> < /div> < !-- .entry-content --> < /article> < !-- #post-0 --> < ?php endif; ?>

(必须添加一些字符, 否则我无法编辑, 抱歉:P)
#2尝试这个…
< ?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(); $wp_query-> query('showposts=6& cat=13'.'& paged='.$paged); ?> < ?php while ($wp_query-> have_posts()) : $wp_query-> the_post(); ?> Your stuff goes here...< ?php endwhile; ?> < ?php $wp_query = null; $wp_query = $temp; // Reset ?>

#3试试这个代码
< ?php global $post; if (is_home()) { $args = array( 'numberposts' => 5, 'category' => 13 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) :setup_postdata($post); ?> < h2> < a href="http://www.srcmini.com/< ?php the_permalink(); ?>"> < ?php the_title(); ?> < /a> < /h2> < div class="entry-content"> < ?php the_content( 'Continue reading < span class="meta-nav"> & raquo; < /span> ); ?> < /div> < ?php endforeach; } ?>

这将显示标题和内容。如果你需要其他信息, 例如日期, 作者, 类别, 标签等, 则可能必须使用其他模板标签。另外, 如果你想以不同的方式设置样式, 则必须使用适当的CSS。

    推荐阅读