我遇到了一个问题,循环拉取我模板中的每个自定义帖子,而不是请求的帖子。可以在此处看到: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(); ?>
我不知道我哪里出了错:(任何帮助都将不胜感激。
干杯
最合适的回答,由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
}
}