Эхо смешанный код

Я пытаюсь повторить смешанную строку, содержащую html-код и PHP-код, но все, что я пробовал, не сработало.

В основном я хочу сделать, это зациклить следующий код 3 раза. Давать мне 3 div с увеличением числа в имени каждый раз.

Этот код будет использоваться в шаблоне WordPress.

Мой обычный код без эха выглядит следующим образом:

<div id="gallery <?php $c; ?>">
  <?php query_posts('post_type=portfolio'); ?>
  <?php if(have_posts()) : ?>
    <?php while(have_posts()) : the_post(); ?>
      <?php if ( has_post_thumbnail() ) : ?>
        <a href="<?php the_permalink(); ?>" 
           title="<?php the_title_attribute(); ?>" >
           <?php the_post_thumbnail(); ?>
        </a>
      <?php endif; ?>
      <h1><?php the_title(); ?></h1>
      <a href="<?php the_permalink(); ?>" 
         title="<?php the_title_attribute(); ?>" > 
         <h2>View Project</h2>
      </a>
      <?php the_content() ?>
    <?php endwhile; ?>
  <?php endif; ?>
</div>

Я новичок в PHP, поэтому не знаю, как это правильно повторить. Мой цикл for уже настроен.

Я надеюсь, что вы, ребята, можете мне помочь.

С уважением Dragon54


person Dragon54    schedule 24.06.2012    source источник
comment
Почему внутри элемента ‹a› находится элемент ‹h2›?   -  person raina77ow    schedule 24.06.2012
comment
Я немного подправил макет, добавил недостающие > закрывающие теги для <a> элементов. Но это все еще такой беспорядок ... Разве нельзя создавать пользовательские помощники представления в Wordpress?   -  person raina77ow    schedule 24.06.2012


Ответы (3)


что-то типа:

for($i=1; $<=3; $++){
 echo '<div id="gallery gallery_'.$i.'">' . get_the_permalink() . '</div>';
}

должно помочь (см. http://php.net/manual/de/language.operators.string.php)

Но имейте в виду, что некоторые вспомогательные функции Wordpress сами печатают/отображают содержимое. В основном вы найдете что-то, что вместо этого возвращает значение

см. http://codex.wordpress.org/Function_Reference/get_permalink (возвращает) и http://codex.wordpress.org/Function_Reference/the_permalink (распечатки)

person mgherkins    schedule 24.06.2012
comment
В настоящее время у меня есть следующий код: jsfiddle.net/LVH44. Но, конечно, полно синтаксических ошибок. - person Dragon54; 25.06.2012

Изучите конкатенацию ПОЖАЛУЙСТА, это очень важно при программировании PHP/HTML! Затем вы можете просто поместить этот блок внутрь foreach или какого-либо цикла, в зависимости от того, как устроена ваша система новостей.

<?php
echo '<div id="gallery_'.$c.'">';
query_posts('post_type=portfolio');

while(have_posts()) {
    the_post();
    if ( has_post_thumbnail() ) { 
        echo '<a href="'.the_permalink().'" title="'.the_title_attribute();.'" '.the_post_thumbnail().'</a>';
    }
}

echo '.<h1>'.the_title().'</h1>
       <a href="'.the_permalink().'" title="'.the_title_attribute().'">link</a>
      </div>';
?>
person Community    schedule 24.06.2012

Вам нужно echo это:

<div id="gallery_<?php echo $c; ?>">

Также пробелы в идентификаторах не допускаются, я переключил их на подчеркивание.

person Madara's Ghost    schedule 24.06.2012