当使用新的WP_QUERY时,如何去除HTML5文档大纲中多余的无标题文章?

时间:2014-08-26 作者:amyQ

这是我在一个静态主页模板上使用的代码的简化版本,该模板是为一个儿童主题212制作的。我简化了一些用于造型的div,只关注问题区域。

问题是,当我使用Chrome扩展查看html5大纲时,所有内容看起来都很好,除了特色漫画部分下面有2篇文章(应该只显示1篇)。一篇文章是为粘性文章准备的,一篇标记为“无标题文章”(点击后会给我粘性文章之后的下一篇文章的帖子ID,但没有显示任何内容),然后是另一个h3“副标题”条目。

我想在页面上保留多个循环,以便用户可以更新静态主页内容。我有没有遗漏什么东西来摆脱这篇虚构的无标题文章?

<?php get_header(); ?>
<div>
<?php while ( have_posts() ) : the_post();
    get_template_part( \'content\', \'page\' );
endwhile; // end of the loop. ?>
</div><!—-for styling only-—>

<section>
<h2>Featured Comic</h2>
<?php $featured_comic = new WP_Query( array( \'posts_per_page\' => 1 ) );
if ( $featured_comic->have_posts() ) : while ( $featured_comic->have_posts() ) :     
    $featured_comic->the_post();
    get_template_part( \'content-homefeatured\', get_post_format() );
endwhile; endif;
wp_reset_postdata(); ?>
<div>
<h3>Subheading<h3>
<div><!—-for styling only-—>
</section>

<section>
$recent_posts = new WP_Query( array( \'posts_per_page\' => 4 ) );
if ( $recent_posts->have_posts() ) : while ( $recent_posts->have_posts() ) :     
    $recent_posts->the_post(); ?>
    <div class="box<?php if($count%2 == 0 ) {echo \'-1\'; }; $count++; ?>">
    <?php get_template_part( \'content-homerecent\', get_post_format() ); ?>
    </div><!—-for styling only-—>       
<?php endwhile; endif;
wp_reset_postdata(); ?>
</section>
内容页:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php if ( ! is_page_template( \'page-templates/front-page.php\' ) ) :
    the_post_thumbnail();
endif; ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
</header>

<div class="entry-content">
<?php the_content();
wp_link_pages( array( 
    \'before\' => \'<div class="page-links">\' . __( \'Pages:\', \'twentytwelve\' ), 
    \'after\' => \'</div>\' ) ); ?>
</div><!-- .entry-content -->
<footer class="entry-meta">
<?php edit_post_link( __( \'Edit\', \'twentytwelve\' ), \'<span class="edit-link">\', \'</span>\' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post -->
内容主页特色:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php if ( is_sticky() ) : ?>
    <header class="entry-header">
    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
    <?php the_post_thumbnail(); ?>
    </a>
    <?php echo do_shortcode(\'[shareaholic app="share_buttons" id="12345"]\'); ?>
    </header><!-- .entry-header -->

    <div class="entry-content">
    <h1 class="entry-title">
    <a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
    </h1>
    <?php the_excerpt(); ?>
    </div><!-- .entry-content -->
<?php endif; // is_sticky() ?>
</article><!-- #post -->
内容homerecent:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<div class="rcrop">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
<?php the_post_thumbnail(\'homepage-thumb\'); ?>
</a>
</div>
</header><!-- .entry-header -->

<div class="entry-content">
<h3 class="entry-title">
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
</h3>
<?php the_excerpt(); ?>
</div><!-- .entry-content -->
<?php echo do_shortcode(\'[shareaholic app="share_buttons" id="12345"]\'); ?>
</article><!-- #post -->

1 个回复
SO网友:amyQ

将我通过推特收到的答案放在此处供其他人查看:

正是特色漫画部分下的贴子创作了这篇没有标题的幻影文章。因此,通过添加:

\'post__in\' => get_option( \'sticky_posts\' )
对于争论,它摆脱了它。特色漫画的新代码如下所示:

<?php 
$featured_comic_args = array(
    \'posts_per_page\' => 1,
    \'post__in\'  => get_option( \'sticky_posts\' ),
    \'ignore_sticky_posts\' => 1,
    \'tag\' => \'buy-me, buyme\',
); 

$featured_comic = new WP_Query( $featured_comic_args ); ?>
    <?php if ( $featured_comic->have_posts() ) : ?>
    <?php while ( $featured_comic->have_posts() ) : $featured_comic->the_post(); ?>
                <?php get_template_part( \'content-homefeatured\' ); ?>

    <?php endwhile; ?>
    <?php wp_reset_postdata(); ?>
    <?php else: ?>
    <?php endif; ?>
希望能帮助别人!

结束

相关推荐

How to finish this loop?

我已经问过一个问题,如何只获取属于某个分类法的父页面的子页面。一位非常有帮助的用户给了我这个答案,然而,我没有得到代码来完成循环的任何一方,这样我就可以得到:标题、特色图片和摘录。我得到的代码是:$child_ids = $wpdb->get_col( \"SELECT ID FROM $wpdb->posts WHERE post_parent = $post->ID AND post_type = \'page\' ORDER BY menu_order\"