Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用自定义字段将类别列表拆分为两列(Wordpress)_Php_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php 使用自定义字段将类别列表拆分为两列(Wordpress)

Php 使用自定义字段将类别列表拆分为两列(Wordpress),php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我试图把一个分类列表分成两列。每个类别都有一个使用ACF创建的自定义字段(“颜色”)。到目前为止,很好,我可以通过以下代码在单个列中获得列表: <?php $args = array( 'hide_empty' => '0'); $categories = get_categories($args); if($categories){ echo '<div class="col"><

我试图把一个分类列表分成两列。每个类别都有一个使用ACF创建的自定义字段(“颜色”)。到目前为止,很好,我可以通过以下代码在单个列中获得列表:

<?php
          $args = array( 'hide_empty' => '0');
          $categories = get_categories($args);
          if($categories){
            echo '<div class="col"><ul class="cat-list">';
            foreach($categories as $category) {
              $color = get_field('color', 'category_'.$category->term_id);
              echo '<li style="background-color:'.$color.'">';
              echo '<a href="';
              echo esc_url( get_category_link( $category->term_id ) );
              echo '">';
              echo $category->name;
              echo '</a>';
              echo '</li>';
            } 
            echo '</ul></div>';
          }    
          ?>

现在我尝试使用wp\u list\u类别(提示:)获取列表。这是解决“两列”问题的一种方法,但使用此方法,我无法从“类别”自定义字段中检索值


提前感谢。

$categories
是一个数组。使用数组可以做的一件大事是。。。查看它们中有多少项,并使用简单的for循环对它们进行迭代

<?php
  $args = array( 'hide_empty' => '0');
  $categories = get_categories($args);
  if(!empty($categories)) {
    $last_category_nr = count($categories) - 1;
    $last_in_first_column = ceil($last_category_nr / 2);
?>
    <div class="col">
      <ul class="cat-list">
        <?php
        for ($i = 0; $i <= $last_in_first_column; $i++) { 
          $category = $categories[$i];
          $color = get_field('color', $category);
          $link = esc_url( get_category_link( $category->term_id ) );
          $name = $category->name;
        ?>
        <li style="background-color: <?php echo $color; ?>">
          <a href="<?php echo $link; ?>">
            <?php echo $name; ?>
          </a>
        </li>
        <?php
        }
        ?>
      </ul>
    </div>
    <div class="col">
      <ul class="cat-list">
        <?php
        for ($i = $last_in_first_column + 1; $i <= $last_category_nr; $i++) { 
          $category = $categories[$i];
          $color = get_field('color', $category);
          $link = esc_url( get_category_link( $category->term_id ) );
          $name = $category->name;
        ?>
        <li style="background-color: <?php echo $color; ?>">
          <a href="<?php echo $link; ?>">
            <?php echo $name; ?>
          </a>
        </li>
        <?php
        }
        ?>
      </ul>
    </div>
  }    
?>