0

我的 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 ...

4

3 回答 3

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 循环的完整版本

于 2013-05-23T06:20:42.033 回答
0

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

<div class="month">
<h2>Headline</h2>
<h3>Headline</h3>
<article>Content</article>
</div>
<article>Content</article>
<article>Content</article>
<h3>Headline</h3>
于 2013-05-23T07:22:19.890 回答
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;
于 2013-05-23T06:13:18.440 回答