Parse error: syntax error, unexpected '<' in code PHP (WORDPRESS)

Parse error: syntax error, unexpected '<' in code PHP (WORDPRESS)

我有一个错误:

Parse error: syntax error, unexpected '<' in /home/dgsite81/public_html/dgprint/wp-content/themes/dgprint/taxonomy-product_category.php on line 197

代码 PHP:

<?php 
    $queried_object = get_queried_object(); 
    $cat_content = get_field('category_content', $queried_object);
    $imagine2= get_field('imagine2',$queried_object);                      
    $imagine3= get_field('imagine3',$queried_object);                 
    $imagine4= get_field('imagine4',$queried_object);
    $imagine5= get_field('imagine5',$queried_object);

           $fields = array("cat_content","imagine2","imagine3","imagine4","imagine5");
             <ul>  //here is the line with error 
                <?php foreach($fiedls as $value) { ?>
                    <li><?php echo $value; ?></li>
                <?php } ?>
             </ul>
?>

如何解决这个错误?我没有意识到应该在什么地方添加括号。

您正在混合 PHP 和 HTML。您需要将 PHP 代码括在 <?php ?> 方括号中...

$fields = array("cat_content","imagine2","imagine3","imagine4","imagine5");
?> <!-- This tells the PHP parser to stop parsing as PHP code -->
  <ul>

您在 php 标签内使用 HTML,您可以执行 echo "<ul>" 或关闭 PHP,然后执行 ul,如下所示:

<?php 
                    $queried_object = get_queried_object(); 
                    $cat_content = get_field('category_content', $queried_object);
                    $imagine2= get_field('imagine2',$queried_object);                      
                    $imagine3= get_field('imagine3',$queried_object);                 
                    $imagine4= get_field('imagine4',$queried_object);
                    $imagine5= get_field('imagine5',$queried_object);

                           $fields = array("cat_content","imagine2","imagine3","imagine4","imagine5"); ?> <------- this thing here
                             <ul>  //here is the line with error 
                                <?php foreach($fiedls as $value) { ?> 
                                    <li><?php echo $value; ?></li>
                                <?php } ?>
                             </ul>

                    ?>

您只需要在该行之前关闭 php 脚本

 <?php 
                    $queried_object = get_queried_object(); 
                    $cat_content = get_field('category_content', $queried_object);
                    $imagine2= get_field('imagine2',$queried_object);                      
                    $imagine3= get_field('imagine3',$queried_object);                 
                    $imagine4= get_field('imagine4',$queried_object);
                    $imagine5= get_field('imagine5',$queried_object);

                           $fields = array("cat_content","imagine2","imagine3","imagine4","imagine5");
                             ?>
                             <ul>
                                <?php foreach($fiedls as $value) { ?>
                                    <li><?php echo $value; ?></li>
                                <?php } ?>
                             </ul> 


?>

您缺少 php 的结束标记,因此 php 会自动尝试解析它。

正确代码:

$fields = array("cat_content","imagine2","imagine3","imagine4","imagine5"); ?>
<ul>  //here is the line with error

是的,因为您直接在 PHP 代码中使用了 HTML 标签。试试这个:

<?php
    $queried_object = get_queried_object();
    $cat_content = get_field('category_content', $queried_object);
    $imagine2= get_field('imagine2',$queried_object);
    $imagine3= get_field('imagine3',$queried_object);
    $imagine4= get_field('imagine4',$queried_object);
    $imagine5= get_field('imagine5',$queried_object);

    $fields = array("cat_content","imagine2","imagine3","imagine4","imagine5");
?>
     <ul>
        <?php foreach($fiedls as $value) { ?>
            <li><?php echo $value; ?></li>
        <?php } ?>
     </ul>

这是基本语法,请更好地记录自己... 试试这个:

 <?php
                    $queried_object = get_queried_object();
                    $cat_content = get_field('category_content', $queried_object);
                    $imagine2= get_field('imagine2',$queried_object);
                    $imagine3= get_field('imagine3',$queried_object);
                    $imagine4= get_field('imagine4',$queried_object);
                    $imagine5= get_field('imagine5',$queried_object);

                           $fields = array("cat_content","imagine2","imagine3","imagine4","imagine5");
                            echo '
                             <ul>';
                                foreach($fiedls as $value){
                                    echo '
                                    <li>'.$value.'</li>';
                                }
                            echo '
                            </ul>';

?>