I want to make category widget like this.
我想创建一个像这张图片的小部件。我创建了一个小部件。但我的所有类别都显示出来,但我想并排显示它们。
这是我的动态PHP代码:
<div class="row">
<div class="col-sm-6">
<ul class="arrow">
<?php
$args = array(
'orderby' => 'name',
'parent' => 0,
'hide_empty' => 0
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
}
?>
</ul>
</div>
</div>
这是我的输出HTML代码:
<div class="row">
<div class="col-sm-6">
<ul class="arrow">
<li><a href="">bootstrap</a></li>
<li><a href="">csss</a></li>
<li><a href="">Habi Jabi</a></li>
<li><a href="">HTCSS</a></li>
<li><a href="">html</a></li>
<li><a href="">Ki Kpi</a></li>
<li><a href="">Laravel</a></li>
<li><a href="">lol</a></li>
<li><a href="">Lolop</a></li>
<li><a href="">new</a></li>
<li><a href="">Php</a></li>
<li><a href="">Uncategorized</a></li>
<li><a href="">Web Design</a></li> </ul>
</div>
</div>
但我想这样创作:
<div class="row">
<div class="col-sm-6">
<ul class="arrow">
<li><a href="#">Development</a></li>
<li><a href="#">Design</a></li>
<li><a href="#">Updates</a></li>
<li><a href="#">Tutorial</a></li>
<li><a href="#">News</a></li>
</ul>
</div>
<div class="col-sm-6">
<ul class="arrow">
<li><a href="#">Joomla</a></li>
<li><a href="#">Wordpress</a></li>
<li><a href="#">Drupal</a></li>
<li><a href="#">Magento</a></li>
<li><a href="#">Bootstrap</a></li>
</ul>
</div>
</div>
我如何编写代码?请帮帮我。
答案 0 :(得分:0)
您的PHP代码应如下所示:
<?php
$args = array(
'orderby' => 'name',
'parent' => 0,
'hide_empty' => 0
);
$categories = get_categories( $args );
$split = sizeof( $categories ) / 2;
foreach ( $categories as $index => $category ) {
if( $index == $split ) {
echo '</ul></div><div class="col-sm-6"><ul class="arrow"></ul></div>';
}
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
}
?>
您可能需要通过减去1来调整$ split变量,以适应大小将给出$ categories数组中元素数量的事实,但$ index(在foreach循环中)将从0开始。