将引导程序类添加到wp_list_pages()?

时间:2018-10-21 19:09:02

标签: wordpress

我有一个引导导航栏,它的项必须通过wordpress wp_list_pages()方法生成。运行此方法后,项有另一个类。我想给它们提供引导类。 我该怎么办? 非常感谢。

1 个答案:

答案 0 :(得分:0)

wp_list_pages()函数的代码之后,您将看到该函数依靠Walkers构建列表项,并使用过滤器扩展其功能。

因此,您可以基于Walker创建自己的Walker_Page,或将过滤器添加到wp_list_pagespage_css_class挂钩中,以操纵输出字符串以添加您的像这样的课程:

/**
 * Add class to menu.
 */
function so52918879_wp_list_pages( $output, $r, $pages ) {
    $output = str_replace( 'class="pagenav"', 'class="pagenav nav"', $output );
}
add_filter( 'wp_list_pages', 'so52918879_wp_list_pages', 10, 3 );

/**
 * Add class to menu item.
 */
function so52918879_page_css_class( $css_class, $page, $depth, $args, $current_page ) {
    $output .= ' nav-item';
}
add_filter( 'page_css_class', 'so52918879_page_css_class', 10, 3 );

以上代码未经测试,您可能需要通过添加验证和添加所需的类来对其进行一些调整。