这段代码用于显示相关帖子并驻留在我的包含文件夹中。
我最近从Mac上的本地开发环境(使用MAMP)切换到使用WAMP的Windows。
此代码块中突然出现此错误。它不会发生在我的本地Mac环境中,也不会在实时测试时发生。
解析错误:语法错误,意外'endif'(T_ENDIF)
错误明确指向倒数第二个endif
。如果我删除它,则会抛出相同的错误,指向代码中的最后一个endif
。
有什么想法吗?我尝试删除两个指定的endif;
语句,但它会引发以下错误:
解析错误:语法错误,意外的文件结尾
<?php
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
?>
<?php if ($tags): ?>
<?php
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>3, // Number of related posts to display.
'caller_get_posts'=>1 ,
'post_type' => array( 'post', 'featured-wedding' )
);
$my_query = new wp_query( $args );
?>
<?php if($my_query->have_posts()): ?>
<aside class="related group">
<h2>You May Also Like:</h2>
<?php while( $my_query->have_posts() ) : $my_query->the_post(); ?>
<a href="<? the_permalink()?>">
<!-- thumbnail -->
<?php the_post_thumbnail(array(175,175)); ?>
<!-- post title -->
<?php if ( 'featured-wedding' == get_post_type() ) : ?>
<h1>Featured Wedding: <?php the_title(); ?></h1>
<?php else: ?>
<h1><?php the_title(); ?>: <?php if (function_exists('the_subheading')) { the_subheading('<span>', '</span>'); } ?></h1>
<?php endif; ?>
</a>
<? endwhile; ?>
</aside>
<?php endif; ?>
<?php
$post = $orig_post;
wp_reset_query();
?>
<?php endif; ?>
答案 0 :(得分:20)
short_open_tag
可能未在php.ini
中启用。变化:
<? endwhile; ?>
要:
<?php endwhile; ?>
您应该将所有其他<?
更改为<?php
。
答案 1 :(得分:0)
您可以将 short_open_tag
中的 php.ini
从 OFF 更改为 ON,并且不需要更改所有未添加 <?php
的文件(不要忘记重新启动服务器(Apache , Nginx) 更改后的 php.ini
。)
答案 2 :(得分:-2)
您可以将short_open_tag
中的php.ini
从OFF更改为ON,而无需更改未添加<?php
的所有文件
(不要忘记在更改php.ini
后重启服务器。)