我正在尝试循环自定义帖子类型,代码使页面完全变白,但当我查看源代码时,我可以看到我的错误:
Parse error: syntax error, unexpected \'else\' (T_ELSE)
这是我的代码,我不知道为什么会出现这种情况,因为它是从教程中复制和粘贴的,我在许多不同的模板文件中尝试过它,我得到了相同的错误,因此错误被隐藏在这一大块代码中:
<?
$args = array( \'post_type\' => \'members_features\', \'posts_per_page\' => 6 );
$the_query = new WP_Query( $args );
?>
<? if ( $the_query->have_posts() ) : ?>
<? while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><? the_title(); ?></h2>
<div class="entry-content">
<? the_content(); ?>
</div>
<? wp_reset_postdata(); ?>
<? else: ?>
<p><? _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
<? endif; ?>
当我转储查询时,该查询接收到1行数据,查询工作正常,只是PHP通知破坏了我的网站,有人能帮忙吗?
最合适的回答,由SO网友:phatskat 整理而成
你没有结束你的while
在进行else
:
$args = array( \'post_type\' => \'members_features\', \'posts_per_page\' => 6 );
$the_query = new WP_Query( $args );
?>
<? if ( $the_query->have_posts() ) : ?>
<? while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><? the_title(); ?></h2>
<div class="entry-content">
<? the_content(); ?>
</div>
<? wp_reset_postdata(); ?>
<?php /** no endwhile! **/
<? else: ?>
<p><? _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
<? endif; ?>
没有HMTL,更容易看到问题:
$args = array( \'post_type\' => \'members_features\', \'posts_per_page\' => 6 );
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) :
$the_query->the_post();
the_title();
the_content();
wp_reset_postdata();
else:
_e( \'Sorry, no posts matched your criteria.\' );
endif;