我想在Wordpress foreach循环中有三列

时间:2014-06-20 08:36:36

标签: php wordpress loops foreach html-table

这是我在我希望在3列之后打破的列之后创建的列的代码。 (我是wp代码的新手。)

<table>
    <tr>
      <?php 
            $posts = get_posts('category=3&numberposts=10'); 
            foreach($posts as $post) { ?>
                <td width="150">
                    <?php if ( has_post_thumbnail() ) {  ?>
                        <a target="_parent"> <?php the_post_thumbnail( array(200,100)); ?></a>
                    }?>
                    <a target="_parent"><?php the_title(); ?></a>
                    <?php echo get_post_meta( get_the_ID(), 'event_startEvent Start', true ); ?> 
                </td>

         <?php } ?>
    </tr>
</table>

3 个答案:

答案 0 :(得分:0)

您可以通过更改此部分代码

来实现此目的
<?php 
     $posts = get_posts('category=3&numberposts=10'); 
      foreach($posts as $post) { 
 ?>

<?php 
        $count = 1;
        $posts = get_posts('category=3&numberposts=10'); 
        foreach($posts as $post) { 

         if($count == 4){
            echo '</tr><tr>';
            $count = 0; 
         }
         $count++;

 ?>

答案 1 :(得分:0)

试试这个:

<table>
    <?php 
        $posts = get_posts('category=3&numberposts=10'); 
        $colCount = 0;
        foreach($posts as $post) { 
            if ($colCount == 0 ) echo '<tr>';
            echo '
                <td width="150">
                    <a target="_parent"> 
                        '.( has_post_thumbnail() ? /* check if the post has a Post Thumbnail assigned to it. */
                            set_post_thumbnail_size( 200, 100 ) :
                            the_post_thumbnail()).'
                    </a>
                    <a target="_parent">'. the_title() .'</a>
                    '.get_post_meta( get_the_ID(), 'event_startEvent Start', true ).'
                </td>';
            $colCount++;
            if ($colCount > 2) {
                echo '</tr>';
                $colCount = 0;
            }
        }
    ?>
</table>

最好在单个php标记内连接HTML(无论什么时候可能),而不是为需要执行的每一小段代码打开和关闭php标记。

此外,您的HTML已损坏:

  1. 您的<a>代码应如下所示:

    <a target="_parent"> 
    

答案 2 :(得分:0)

我知道这可能无法回答你的问题,因为你真的想使用表格,但是你考虑过列表吗?

<ul id="theList">
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
   <li><img /><a href="#">The title</a></li>
</ul>

<style>
#theList {
    margin:0;
    padding: 0;
    list-style: none;
    width: 450px; // more if <li> has padding
}
#theList li {
    float: left;
    width: 150px;
}
</style>