Php wordpress帖子在自定义页面模板上显示两次

Php wordpress帖子在自定义页面模板上显示两次,php,wordpress,post,blogs,Php,Wordpress,Post,Blogs,不确定代码中有什么错误?但这是显示id为64的帖子两次。我们的目标是有一个页面显示某个类别的帖子,这一部分是有效的,只是帖子显示两次 <?php /* Template Name: Special Template */ ?> <?php get_header(); ?> <?php $hide_title_text = rwmb_meta('itrans_hide_title_text'); ?> <div id="primary" class

不确定代码中有什么错误?但这是显示id为64的帖子两次。我们的目标是有一个页面显示某个类别的帖子,这一部分是有效的,只是帖子显示两次

<?php /* Template Name: Special Template */ ?>
<?php get_header(); ?>
<?php
    $hide_title_text = rwmb_meta('itrans_hide_title_text');
?>
<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">

<?php
query_posts('cat=64');
while (have_posts()) : the_post();
the_content();
endwhile;
?>

        <?php /* The loop */ ?>
        <?php while  ( have_posts() ) : the_post(); ?>

            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <header class="entry-header">
                    <?php if ( has_post_thumbnail() && !          post_password_required() ) : ?>
                    <div class="entry-thumbnail">
                        <?php the_post_thumbnail(); ?>
                    </div>
                    <?php endif; ?>
                    <?php if($hide_title_text != 1) { ?>
                    <h1 class="entry-title"><?php the_title(); ?></h1>
                    <?php } ?>
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <?php the_content(); ?>
                    <?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'itransform' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
                </div><!-- .entry-content -->

                <footer class="entry-meta">
                    <?php edit_post_link( __( 'Edit', 'itransform' ), '<span class="edit-link">', '</span>' ); ?>
                </footer><!-- .entry-meta -->
            </article><!-- #post -->

            <?php comments_template(); ?>
        <?php endwhile; ?>

    </div><!-- #content -->
    <?php get_sidebar(); ?>
</div><!-- #primary -->


您在早期有一个小循环:

while (have_posts()) : the_post();
the_content();
endwhile;
然后,您将有一个更大的循环,其中包含以以下内容开头的所有格式:

        <?php /* The loop */ ?>
        <?php while  ( have_posts() ) : the_post(); ?>
        ...
        <?php the_content(); ?>
        ...
        <?php endwhile; ?>

...
...

这将导致页面上出现两个帖子。

最好使用
get\u posts()
new WP\u Query()
覆盖
Query\u posts()
,因为
Query\u posts()
将修改主查询

有关更多详细信息,请查看此处:

您可以使用以下提到的方法满足您的需求:

<?php
$args = array('category' => 64 );

$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post );
    // get your required stuff here
endforeach; 
wp_reset_postdata();
?>

thanx//