IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    wordpress 菜单调用自定义class名称 wp_list_pages

    songlin发表于 2017-03-25 05:52:47
    love 0

    wordpress调用所以页面列表函数为wp_list_pages、具体参数自行百度,但是这个函数不能自定义li、a链接的class名称,这就有点鸡肋,导致不能很方便的切换的别的样式当中、所以我写个替换函数。
    在主题functions.php 文件中新增

    /**
     * @param string $ul   ul class名称
     * @param string $li   li class名称
     * @param string $link a链接 class名称
     * @param $str
     */
    function set_menu_class($ul='',$li='',$link='',$str){
        $pattern[] = '/<ul class="(.*?)">/';
        $pattern[] = '/<li class="(.*?)">/';
        $pattern[] = '/<a href="(.*?)">/';
        $replace[] = "<ul class=\"$ul\">";
        $replace[] = "<li class=\"$li\">";
        $replace[] = "<a class=\"$link\" href=\"$1\">";
        $str = preg_replace($pattern, $replace, $str);
        echo $str;
    }
    

    然后在列表模板调用

    set_menu_class("","nav-item","nav-link",wp_list_pages(array('title_li'=>'','echo'=>false)));
    

    搞定



沪ICP备19023445号-2号
友情链接