这是我的功能,我不知道为什么会出现问题。
解析错误:语法错误,D:\ OSPanel中出现意外的'echo'(T_ECHO)...
<?php function set_gallery($type_filter) { ?>
<?php $gallery_postes = array();
$args = set_arges($type_filter); //Create $ARGS and RETURN $set_args
$gallerys_posts = new WP_Query($args);
if( $gallerys_posts->have_posts() ) :
while ( $gallerys_posts->have_posts() ) :
$gallerys_posts->the_post();
$retgel = '
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 shuffle-item filtered">
<div class="portfolio-item">
<a href="' .echo get_permalink(get_the_id());.'">'.
^-[这里有问题]
if ( get_the_post_thumbnail(get_the_id()) ) {
echo get_the_post_thumbnail( get_the_id(), array(620, 423 ));
}
.'<div class="portfolio-overlay">
<div class="caption">'.
the_title();
.'<span>'.
echo get_the_content();
.'</span>
</div>
</div>
</a>
</div>
</div>';
array_push($gallery_postes, $retgel);
endwhile; endif; // new WP_Query ?>
<?php return $gallery_postes; ?>
<?php } ?>
答案 0 :(得分:0)
欢迎使用StackOverflow Viktor Vasilick,
要“回答”您的问题,我只是说您需要删除单词“ echo”和结尾的“;”。但是,我不认为这会给您带来公平的答案,事实上,您这样编写的事实表明您可能需要更好地了解PHP,因此,我将尝试为您提供一些指导。
您已经创建了一个包含一串字符串数据的变量,并且在中间添加了动态数据get_permalink()
。当您在内部分配具有动态数据的变量时,PHP会为您将诸如此类的动态数据解释为变量。
但是,当您尝试在以奇怪的方式创建字符串数据的过程中回显时,会引发该错误。
将来,请始终先尝试建立并创建文本块,然后再将其回显(或在示例中尝试执行array_push。
这是您的代码的外观:
<?php
function set_gallery($type_filter) {
$gallery_postes = array();
$args = set_arges($type_filter); //Create $ARGS and RETURN $set_args
$gallerys_posts = new WP_Query($args);
if( $gallerys_posts->have_posts() ) :
while ( $gallerys_posts->have_posts() ) :
$gallerys_posts->the_post();
$retgel = '<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 shuffle-item filtered">
<div class="portfolio-item">
<a href="'.get_permalink(get_the_id()).'">
'.
if ( get_the_post_thumbnail( get_the_id() ) ) {
echo get_the_post_thumbnail( get_the_id(), array(620, 423 ));
}
.'
<div class="portfolio-overlay">
<div class="caption">
'.the_title().'
<span>'.get_the_content().'</span>
</div>
</div>
</a>
</div>
</div>';
array_push($gallery_postes, $retgel);
endwhile;
endif; // new WP_Query
?>
<?php return $gallery_postes; ?>
<?php
}
?>