Поместите значения цикла foreach внутрь div

#php #html #css

Вопрос:

    <?php
    $recent_posts = wp_get_recent_posts(array('post_type'=>'projet'));
    foreach( $recent_posts as $recent ){
        
        echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
        if ( has_post_thumbnail( $recent["ID"]) ) {
            echo  get_the_post_thumbnail($recent["ID"],'thumbnail');
          }
        if (has_excerpt($recent["ID"]) ){
            // echo get_the_excerpt($recent["ID"],'the_excerpt');
            echo '<p class="excerpt">' . get_the_excerpt($recent["ID"],'the_excerpt') . '</p>';
          }
    }
?>
 

Привет, я хотел бы знать, как поместить весь мой foreach цикл в div ? Я хочу, чтобы каждый $recent_posts из них был внутри div, прямо сейчас они идут один за другим. (кстати, это мой первый пост здесь, извините, если я не совсем ясно выразился)

##РЕДАКТИРОВАТЬ## Вот мой html :

 <h2><a href="http://localhost/wordpress/projet/projet-3/" title="Look Maquette UX/UI">Maquette UX/UI</a></h2> <img width="150" height="150" src="http://localhost/wordpress/wp-content/uploads/2021/04/vignette_maquette-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image"
  alt="" loading="lazy" />
<p class="excerpt">Projet 1</p>
<h2><a href="http://localhost/wordpress/projet/projet-2/" title="Look Intégration Baniera">Intégration Baniera</a></h2> <img width="150" height="150" src="http://localhost/wordpress/wp-content/uploads/2021/04/vignette_baniera_homepage-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image"
  alt="" loading="lazy" />
<p class="excerpt">Projet 2</p>
<h2><a href="http://localhost/wordpress/projet/projet-1/" title="Look Intégration PHP">Intégration PHP</a></h2> <img width="150" height="150" src="http://localhost/wordpress/wp-content/uploads/2021/04/order_homepage-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image"
  alt="" loading="lazy" />
<p class="excerpt">Projet 3</p>
<p class="excerpt"></p>
</div> 

И я хочу, чтобы каждая «группа» была внутри div, прямо сейчас они все вместе

Хорошо, теперь это работает, я завернул содержимое foreach примерно так :

 <?php
$recent_posts = wp_get_recent_posts(array('post_type'=>'projet'));
foreach( $recent_posts as $recent ){
    echo '<div class="foreach_wrapper">';

    echo '<h2><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a></h2> ';
    if ( has_post_thumbnail( $recent["ID"]) ) {
        echo  get_the_post_thumbnail($recent["ID"],'thumbnail');
      }
    if (has_excerpt($recent["ID"]) ){
        // echo get_the_excerpt($recent["ID"],'the_excerpt');
        echo '<p class="excerpt">' . get_the_excerpt($recent["ID"],'the_excerpt') . '</p>';
      }

    echo '</div>';
}
 

?>

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

1. Привет, Хуан, можешь ли ты опубликовать полученный HTML-код того, что у тебя есть сейчас, и пример того, каким бы ты хотел видеть свой результат?

2. @хуан, какого результата ты хочешь? и каков текущий результат?

3. Я только что отредактировал свой пост

4. Я понимаю echo '<li>... — И LI у элементов не может быть братьев и сестер, кроме LI s

5. @Juan Вы хотите добавить каждый пункт и заголовок в отдельную div или полную существующую структуру тела div ?

Ответ №1:

Вы можете повторить div вокруг каждого, небольшое примечание, вы используете <li> элемент, но забыли <ul> обертку, пожалуйста, проверьте свой HTML с помощью валидатора HTML.

    <?php
    echo '<div>'; /* I added this */

    $recent_posts = wp_get_recent_posts(array('post_type'=>'projet'));
    foreach( $recent_posts as $recent ){
        
        echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
        if ( has_post_thumbnail( $recent["ID"]) ) {
            echo  get_the_post_thumbnail($recent["ID"],'thumbnail');
          }
        if (has_excerpt($recent["ID"]) ){
            // echo get_the_excerpt($recent["ID"],'the_excerpt');
            echo '<p class="excerpt">' . get_the_excerpt($recent["ID"],'the_excerpt') . '</p>';
          }
    }

    echo '</div>'; /* I added this */

?>
 

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

1. Спасибо, я попробую это сделать !