自定义柱子循环拉取所有自定义柱子,而不是只拉一个

时间:2013-08-12 作者:Dave Burns

我遇到了一个问题,循环拉取我模板中的每个自定义帖子,而不是请求的帖子。可以在此处看到:http://i.imgur.com/1YKeLtV.png

下面是我用来显示自定义帖子的代码:

<?php /*Template Name: Game Listing Page */ ?>
<?php get_header(); ?>

<div id="content">
    <?php
    $mypost = array( \'post_type\' => \'games_database\', );
    $loop = new WP_Query( $mypost );
    ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post();?>
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <header class="entry-header">

                <!-- Display featured image in right-aligned floating div -->
                <div style="float: right; margin: 10px">
                    <?php the_post_thumbnail( array( 100, 100 ) ); ?>
                </div>

                <!-- Display game information and review score -->
                <strong>Title: </strong><?php the_title(); ?><br />
                <strong>Platform(s): </strong>
                <?php the_terms( $post->ID, \'games_database_game_platform\' ,  \' \' ); ?>
                <br />
                <strong>Genre: </strong>
                <?php the_terms( $post->ID, \'games_database_game_genre\' ,  \' \' ); ?>
                <br />
                <strong>Publisher: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_publisher\', true ) ); ?>
                <br />
                <strong>Developer: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_developer\', true ) ); ?>
                <br />
                <strong>Review Score: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_rating\', true ) ); ?>
                <br />

            </header>

            <!-- Display movie review contents -->
            <div class="entry-content"><?php the_content(); ?></div>
        </article>

    <?php endwhile; ?>
    </div>
</div>
<?php wp_reset_query(); ?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>
我不知道我哪里出了错:(任何帮助都将不胜感激。

干杯

2 个回复
最合适的回答,由SO网友:Eric Holmes 整理而成

你已经在循环中了。您不需要重新创建它(通过进行另一个WP_查询)。这是您的代码$loop 您创建的已删除。这应该能很好地工作。

<?php /*Template Name: Game Listing Page */ ?>
<?php get_header(); ?>

<div id="content">
    <?php while ( have_posts() ) : the_post();?>
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <header class="entry-header">

                <!-- Display featured image in right-aligned floating div -->
                <div style="float: right; margin: 10px">
                    <?php the_post_thumbnail( array( 100, 100 ) ); ?>
                </div>

                <!-- Display game information and review score -->
                <strong>Title: </strong><?php the_title(); ?><br />
                <strong>Platform(s): </strong>
                <?php the_terms( $post->ID, \'games_database_game_platform\' ,  \' \' ); ?>
                <br />
                <strong>Genre: </strong>
                <?php the_terms( $post->ID, \'games_database_game_genre\' ,  \' \' ); ?>
                <br />
                <strong>Publisher: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_publisher\', true ) ); ?>
                <br />
                <strong>Developer: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_developer\', true ) ); ?>
                <br />
                <strong>Review Score: </strong>
                <?php echo esc_html( get_post_meta( get_the_ID(), \'game_rating\', true ) ); ?>
                <br />

            </header>

            <!-- Display movie review contents -->
            <div class="entry-content"><?php the_content(); ?></div>
        </article>

    <?php endwhile; ?>
    </div>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

SO网友:s_ha_dum

我遇到了一个问题,循环拉取我模板中的每个自定义帖子,而不是请求的帖子。

您的查询正在请求\\ugames_database 类型

$mypost = array( \'post_type\' => \'games_database\', );
没有任何论据会将其限制在一篇文章中。你真的要了所有的。

但是,请仔细查看Template Hierarchy. 如果这个在single-games_database.php 您根本不需要查询。您需要的数据位于主查询中。您只需要一个循环,这部分:

if (have_posts()) {
  while (have_posts()) {
    the_post();
    // echo post data
  }
}

结束

相关推荐

Problems with loop

我的索引中有这个循环。php: <?php if (have_posts()) : while (have_posts()) : get_template_part( \'post\' ); endwhile; endif; ?> 调用此模板<?php ?> <h2 id=\"post-<?php the_ID()