Erro de syntax quando tento inserir o meu loop em uma lista não ordenada?

Eu sou muito novo no desenvolvimento do PHP e WordPress e eu tenho o seguinte problema tentando inserir algum código HTML no loop de posts.

Eu tentei algo assim:

<?php if (have_posts()) : 
    // Start the Loop. while (have_posts()) : the_post(); /* * Include the post format-specific template for the content. If you want to * use this in a child theme, then include a file called called content-___.php * (where ___ is the post format) and that will be used instead. */
  • get_template_part('contentArchive', get_post_format());
  • endwhile;
endwhile; ?>

Como você pode ver, eu quero uma lista não ordenada (a tag

    ) e eu quero colocar o elemento de lista única (a tag

  • ) para cada iteração do ciclo while , mas o Aptana Studio me dá uma mensagem de erro de syntax no
      e no

    • Por quê? Onde está o problema? Como posso corrigi-lo?

      Tnx

      Solutions Collecting From Web of "Erro de syntax quando tento inserir o meu loop em uma lista não ordenada?"

      Você não está adicionando código HTML ao seu arquivo, você está adicionando PHP inválido.

      Para recapitular, em PHP, tudo entre < ?php Php e ?> É o código PHP.

      Então, este é PHP válido:

       < ?php echo 'hello world';! ?> 

      Isso também é válido:

       < ?php echo 'hello world'; ?> 

      Isso não é válido:

       < ?php  echo 'hello world';  ?> 

      Por quê? Porque é PHP inválido. É uma tag HTML válida sim, mas você não colocou em HTML, você colocou entre as tags por isso é código PHP e não é um código PHP válido.

      Sidenotes

      • Você não está recuando seu código corretamente. Qualquer bom editor irá fazê-lo automaticamente por você, o PHPStorm possui uma opção de reformatação, Sublime auto-recuo ao digitar, economizar tempo e esforço e usar um editor que faça isso por você. O recuo torna seu código mais fácil de ler, e os erros são mais fáceis de detectar
      • Use colchetes em vez de taquigrafia, por exemplo, if( this ) { do that } , ele tem maior suporte entre editores e verificadores. É muito fácil adicionar um endwhile; perdido endwhile; declarações (seu código original tem 1 enquanto loop, mas você o fecha duas vezes, isso não faz sentido e só serve para confundir). Se você usar { e } um bom editor digitará automaticamente o suporte de fechamento para você e o recuará de acordo.

      Então, em conclusão, seu código deve ser mais parecido com isso:

       < ?php if ( have_posts() ) { echo '
        '; while ( have_posts() ) { the_post(); echo '
      • '; get_template_part( 'contentArchive', get_post_format() ); echo '
      • '; } echo ''; }

      Alterar:

      • Usou eco para imprimir o html
      • removeu linhas vazias externas e converteu-se em abas
      • recuo fixo
      • Braçadeiras usadas em vez de syntax de taquigrafia PHP
      • removeu a tag de fechamento do PHP, fechando as tags são desnecessárias no final de um arquivo PHP se a última coisa for o código PHP
    • Você está incluindo elementos HTML sem fechar as tags php. Além disso, o último deve ser endif , não por endwhile .

       < ?php if (have_posts()) : ?> 
        < ?php // Start the Loop. while (have_posts()) : the_post(); /* * Include the post format-specific template for the content. If you want to * use this in a child theme, then include a file called called content-___.php * (where ___ is the post format) and that will be used instead. */ ?>
      • < ?php get_template_part('contentArchive', get_post_format()); ?>
      • < ?php endwhile; ?>
      < ?php endif; ?>