PHP语法错误,意外的“回声”

时间:2018-08-25 13:51:10

标签: php wordpress syntax echo

这是我的功能,我不知道为什么会出现问题。

解析错误:语法错误,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 } ?>

1 个答案:

答案 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
}
?>