2016-04-26 78 views
1

我已经给出了下面使用Wordpress高级自定义字段在页面上创建框的代码。我期待每一个DIV甚至产生如之前包括空白格:Wordpress ACF添加div甚至

<div class="span2 team-'. $count .'"> </div> 
<div class="span2 team-blank even"> </div> <- inserted blank div needed 
<div class="span2 team-'. $count .'"> </div> 
<div class="span2 team-blank even"> </div> <- inserted blank div needed 

下面我当前的代码是生产的箱子,我似乎无法工作,如何算div和输入空白格。我认为这可以用PHP或Jquery完成。

    <?php 
if (get_field('team')) 
{ 
echo '<div class="span6">'; 
echo '<div class="row">'; 
$count=0; 
while (has_sub_field('team')) 
{ 
    echo '<div class="span2 team-'. $count .'"> '; 
    echo '<a class="inline cboxElement" href="#inline_content-'. $count .'">'; 
    $personimage_url = wp_get_attachment_image_src(get_sub_field('image_person'), 'why_img'); 
    echo '<img src="' . $personimage_url[0] . '">'; 
    echo '</a> '; 
    echo '<div style="display:none"> '; 
    echo '<div id="inline_content-'. $count .'" class="row"> '; 
    echo '<div class="span10 about-area">'; 
    echo '<div class="contact_img">'; 
    $about_url =   wp_get_attachment_image_src(get_sub_field('image_person'), 'about_img'); 
    echo '<img src="' . $about_url[0] . '"></div>'; 
    if (get_sub_field('name')) echo '<span class="name">' .   get_sub_field('name') . '</span> '; 
    if (get_sub_field('about')) echo '<span class="about">'.  get_sub_field('about') .'</span>'; 
    echo '</div><br style="clear: both;">'; 
    echo '<div id="lightbox"> 
<h1 id="site-title" class="span5"> <span> <a href="http://www.website.com" title="Website" rel="home">Website</a>   </span> </h1> 
</div>'; 
    echo '</div> '; 
    echo '</div> '; 
    echo '<span class="contact_label">' . get_sub_field('name') .  '</span>'; 
    echo '</div> '; 
    $count++; 
} 
echo '</div>'; 
echo '</div>'; 
}?> 
+2

有你在PHP呼应你的HTML,而不仅仅是关闭/打开PHP代码的原因是什么?一定是噩梦维持! – Andy

+0

Atleast切换到http://php.net/manual/en/control-structures.alternative-syntax.php。在你的代码中输入错字确实很容易。 – jedrzejchalubek

+0

我认为你不需要模函数,你可以为每个迭代打印两个div – Pietro

回答

1

您可以使用modulus运营商与count变量来做到这一点沿:

<?php 
if (get_field('team')) 
{ 
echo '<div class="span6">'; 
echo '<div class="row">'; 
$count=0; 
while (has_sub_field('team')) 
{ 

    echo '<div class="span2 team-'. $count .'"> '; 
    echo '<a class="inline cboxElement" href="#inline_content-'. $count .'">'; 
    $personimage_url = wp_get_attachment_image_src(get_sub_field('image_person'), 'why_img'); 
    echo '<img src="' . $personimage_url[0] . '">'; 
    echo '</a> '; 
    echo '<div style="display:none"> '; 
    echo '<div id="inline_content-'. $count .'" class="row"> '; 
    echo '<div class="span10 about-area">'; 
    echo '<div class="contact_img">'; 
    $about_url =   wp_get_attachment_image_src(get_sub_field('image_person'), 'about_img'); 
    echo '<img src="' . $about_url[0] . '"></div>'; 
    if (get_sub_field('name')) echo '<span class="name">' .   get_sub_field('name') . '</span> '; 
    if (get_sub_field('about')) echo '<span class="about">'.  get_sub_field('about') .'</span>'; 
    echo '</div><br style="clear: both;">'; 
    echo '<div id="lightbox"> 
<h1 id="site-title" class="span5"> <span> <a href="http://www.website.com" title="Website" rel="home">Website</a>   </span> </h1> 
</div>'; 
    echo '</div> '; 
    echo '</div> '; 
    echo '<span class="contact_label">' . get_sub_field('name') .  '</span>'; 
    echo '</div> '; 

    // Use modulo to see if $count is divisible by 2 (i.e. an even number) 
    if ($count % 2 === 0) 
    { 
     // Insert blank div 
     echo '<div class="span2 team-blank even"> </div>'; 
    } 

    $count++; 
} 
echo '</div>'; 
echo '</div>'; 
} 
?> 
+0

这似乎没有工作,当输入到PHP模板时它没有显示任何东西。另外,我不希望它替换偶数div,我希望它在偶数之前输入一个空白div。 – Hue

+0

我更新了代码,不跳过偶数div。至于它没有显示任何东西,我做了一个快速测试页面,它的工作正常 - 你是否得到任何WordPress错误消息? – Prawny

+0

好吧,这是渲染,但不正确的顺序:

Hue