Неожиданная T_string в WordPress

#php #wordpress #loops

#php #wordpress #циклы

Вопрос:

Я получаю неожиданную ошибку T_STRING для этого очень часто используемого кода WordPress (цикл), который пока является единственным php-кодом в файле. Проблемная строка — это while строка, что означает, что if строка каким-то образом задействована.

 <?php
  if (have_posts()): 
    while (have_ posts()) : the_ post()
?>
    <a href="<?php the_ permalink(); ?>"><?php the_title(); ?></a>
    <br>
<?php
      the_content();
    endwhile;
  endif;
?>
  

Я новичок в php, поэтому я уверен, что здесь я упускаю что-то очевидное.

Комментарии:

1. Для меня это больше похоже на python, чем на php.

Ответ №1:

У вас может быть лишний пробел в have_ posts() , the_ post() и the_ permalink() .

Комментарии:

1. Вот и все. Я не могу поверить, что пропустил это!

Ответ №2:

Вы вызываете the_ post() вместо the_post() , за которым также должна следовать точка с запятой:

 while( have_posts() ) : the_post();
  

Я вижу, вы допустили ту же ошибку в have_ posts() и the_ permalink() тоже.

Кроме того, есть сайт StackExchange специально для WordPress онлайн по адресуhttp://wordpress.stackexchange.com это может оказаться особенно полезным при работе над проектами WP.

Ответ №3:

У вас есть несколько пробелов в неподходящих местах в следующих местах:

 while (have_ posts()) : the_ post()?> //should be have_posts() amp; the_post()

<a href="<?php the_ permalink(); ?>" //should be the_permalink()
  

Надеюсь, это решит вашу проблему!