在wordpress

时间:2017-09-12 17:24:12

标签: wordpress themes

我想改变使用此代码创建的类别的样式:

<?php wp_list_categories('show_count=0&title_li='); ?>

但我想给我自己的课,因为我使用Bootstrap类, 我的html代码应该是:

<li class="nav-item bold"> <a class="nav-link" href="#">اتصل بنا</a> </li>

我想在此代码中使用我的类别列表循环。

我试图从浏览器中获取来自inspect的类,我得到了这段代码:

<li class="cat-item cat-item-3"><a href="http://localhost/wp/category/%d8%aa%d8%b5%d9%86%d9%8a%d9%81-%d8%b1%d9%82%d9%85-3/">تصنيف رقم 3</a>

我尝试编辑cat-item和cat-item-3,但我什么都没有。

2 个答案:

答案 0 :(得分:0)

您需要使用自定义助手来更改每个<li>的输出。

这是functions.php

class Walker_Category_Bootstrap_Nav extends Walker_Category {

  function start_lvl( &$output, $depth=0, $args=array() ) {
    // add any custom ul classes here
    $output .= "\n<ul>\n";
  }

  function end_lvl( &$output, $depth=0, $args=array() ) {
    $output .= "</ul>\n";
  }

  function start_el( &$output, $item, $depth=0, $args=array(),$current_object_id = 0 ) {
    // add any custom li and a classes here
    $output .= '<li class="nav-item bold"><a class="nav-link" href="' . home_url( 'category/'.$item->slug ) . '">
    ' . esc_attr( $item->name );
  }

  function end_el( &$output, $item, $depth=0, $args=array() ) {
    $output .= "</a></li>\n";
  }

}

在模板中使用它:

$custom_walker = new Walker_Category_Bootstrap_Nav();

wp_list_categories( array(
  'walker' => $custom_walker,
  'show_count' => 0,
  'title_li' => '',
) );

此代码未经测试,但应该与您正在寻找的内容非常接近。

答案 1 :(得分:0)

我明白了 我按id调用类别然后创建数组和foreach然后用我的li风格回显代码

<?php $category_ids = get_all_category_ids(); ?>
<?php
$args = array(
'orderby' => 'slug',
'parent' => 0
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '<li class="nav-item bold"><a class="nav-link" href="' . 
get_category_link( $category->term_id ) . '"><i class="ss-icon" aria-
hidden="true">' . $category->name . '</i>' . '' . $category->description . '</a></li>';
}
?>

感谢帮助我:)。