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

搞定