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)));
搞定