具有DIV的组元素

时间:2013-05-23 06:06:24

标签: php html wordpress grouping

我的DOM结构看起来像

<h2>Month</h2>
<article class="test">test</article>
<article class="test">test</article>
<article class="test">test</article>
<article class="test">test</article>
<article class="test">test</article>
<h2>next Month</h2>
<article class="test">test</article>
<article class="test">test</article>

但我想要一个DIV元素:

<div class="month">
<h2>Month</h2>
<article class="test">test</article">
<article class="test">test</article">
<article class="test">test</article">
</div>

在我的PHP函数中,我有以下几行:

$ts_monat = strftime("%m",$timestamp);  
if($ts_monat != $monat_l) 
{
    echo '<h3 class="spacer_monat" id="'. $monat[$ts_monat] .'">'. $monat[$ts_monat] .'</h3>';
} 
$monat_l = $ts_monat;

之后我输出了我的文章......

但我不知道如何围绕他们包裹div ...

3 个答案:

答案 0 :(得分:0)

使用以下代码:

$str = '<div class="month">';

while ( $loop->have_posts() ) : 

$loop->the_post();
$i++;

?>

<?php
$timestamp = get_post_meta( $post->ID, '_tatort_datum_timestamp', true );


$ts_jahr = strftime("%Y",$timestamp);   
if($ts_jahr != $jahr_l) 
{
    $str .= '<h2 class="spacer_jahr" id="'. $ts_jahr .'">'. $ts_jahr .'</h2>';
} 
$jahr_l = $ts_jahr; 


$ts_monat = strftime("%m",$timestamp);      
if($ts_monat != $monat_l) 
{
    $str .= '<h3 class="spacer_monat" id="'. strtolower($monat[$ts_monat]) . "_" . $ts_jahr. '">'. $monat[$ts_monat] .'</h3>';
} 
$monat_l = $ts_monat;

<article>
</article>
endwhile; 
$str .= '</div>';
echo $str;

答案 1 :(得分:0)

$args = array( 'post_status' => 'any', 'post_type' => 'tatort', 'posts_per_page' => $count_posts,
'orderby' => 'meta_value_num', 'meta_key' => '_tatort_datum_timestamp', 'order' => 'DESC'
);
$loop = new WP_Query( $args );   

while ( $loop->have_posts() ) : $loop->the_post();

$i++;

?>

<?php
$timestamp = get_post_meta( $post->ID, '_tatort_datum_timestamp', true );


$ts_jahr = strftime("%Y",$timestamp);   
if($ts_jahr != $jahr_l) 
{
    echo '<h2 class="spacer_jahr" id="'. $ts_jahr .'">'. $ts_jahr .'</h2>';
} 
$jahr_l = $ts_jahr; 


$ts_monat = strftime("%m",$timestamp);      
if($ts_monat != $monat_l) 
{
    echo '<h3 class="spacer_monat" id="'. strtolower($monat[$ts_monat]) . "_" . $ts_jahr. '">'. $monat[$ts_monat] .'</h3>';
} 
$monat_l = $ts_monat;

<article>
</article>
endwhile; wp_reset_query();

这是Wordpress循环的完整版

答案 2 :(得分:0)

好吧......现在输出

<div class="month">
<h2>Headline</h2>
<h3>Headline</h3>
<article>Content</article>
</div>
<article>Content</article>
<article>Content</article>
<h3>Headline</h3>