在php语句中显示div标签

时间:2016-12-22 01:36:37

标签: php wordpress advanced-custom-fields

我现在正在使用高级自定义字段插件处理WordPress主题库,并且我希望在<div>语句为真时显示if标记。这是我的代码:

 <?php 
    $rows = get_field('classification');
    $sort = get_sub_field('sort');
    $row_count = count($rows);
    for ($i = 1; $i <= $row_count; $i++)?>
    <?php if ( $i==1 || $i%5==0) { ?>
      <div class="bor"></div>
        <h3 style="text-align:center">
        <?php echo $sort; ?>
        <a id="browser"></a></h3>
       <div class="bor"></div>
    <?php } ?> 

或类似的东西

    <?php 
    $rows = get_field('classification');
    $fenlei = get_sub_field('fenlei');
    $row_count = count($rows);
    for ($i = 1; $i <= $row_count; $i++)?>
    <?php if ( $i==1 || $i%5==0) { ?>
      echo '<div class="bor"></div>';
        echo '<h3 style="text-align:center">';
        <?php echo $fenlei; ?>
        echo '<a id="browser"></a></h3>';
       <div class="bor"></div>
    <?php } ?> 

但是div标签的内容没有显示。 感谢您的回复!非常感谢。

3 个答案:

答案 0 :(得分:0)

如果你想在php中显示html,我建议你使用下面的代码。

    <?php 
    $rows = get_field('classification');
    $fenlei = get_sub_field('fenlei');
    $row_count = count($rows);
    for($i = 1; $i <= $row_count; $i++){
        if ( $i==1 || $i%5==0) { 
            echo '&gt;div class="bor"&lt;&gt;/div&lt;';
            echo '&gt;h3 style="text-align:center"&lt;';
            echo $fenlei;
            echo '&gt;a id="browser"&lt;&gt;/a&lt;&gt;/h3&lt;';
            echo '&gt;div class="bor"&lt;&gt;/div&lt;';
        } 
    }
?> 

答案 1 :(得分:0)

你的一些echo语句都是php标签。用这个:

^[^\/]{2}\s*template:\s*(.*),

答案 2 :(得分:0)

我猜你正在使用ACF Pro Repeater字段。在这种情况下,您需要使用the_row()来设置子字段的正确内容。从Docs

查看此编辑的示例
<?php
// check if the repeater field has rows of data
if( have_rows('repeater_field_name') ):
  // loop through the rows of data
    while ( have_rows('repeater_field_name') ) : the_row();
        // display a sub field value
        the_sub_field('sub_field_name');
    endwhile;
endif;

?>

所以,我认为你的代码应该更像:

<?php 
    if(have_rows('classification')): 
    while (have_rows('classification') ) : the_row();
    // Your Code...
    endwhile;
endif;
?>

而且,我最近了解到你需要计算while循环之外的行数。否则它不会捕获行数。