wordpress 在wp_list_pages()中添加引导类?

lc8prwob  于 12个月前  发布在  WordPress
关注(0)|答案(1)|浏览(90)

我有一个引导导航栏,它的项目必须由WordPress的WP_list_pages()方法生成。运行此方法后,项目有另一个类。我想给予他们引导类。我该怎么做?非常感谢

nnt7mjpx

nnt7mjpx1#

按照wp_list_pages()函数的代码,您将看到该函数依赖于Walkers来构建列表项,并使用过滤器来扩展其功能。
因此,您可以创建自己的Walker扩展Walker_Page,或者向wp_list_pagespage_css_class钩子添加一个过滤器来操作输出字符串以添加您的类,如下所示:

/**
 * Add class to menu.
 *
 * @link https://developer.wordpress.org/reference/hooks/wp_list_pages/
 */
function so52918879_wp_list_pages( string $output, array $parsed_args, array $pages ): string {
    return str_replace( 'class="pagenav"', 'class="pagenav nav"', $output );
}
add_filter( 'wp_list_pages', 'so52918879_wp_list_pages', 10, 3 );
/**
 * Add class to menu item.
 *
 * @link https://developer.wordpress.org/reference/hooks/page_css_class/
 */
function so52918879_page_css_class( array $css_classes, WP_Post $page, int $depth, array $args, int $current_page ): array {
    $css_classes[] = 'nav-item';
    return $css_classes;
}
add_filter( 'page_css_class', 'so52918879_page_css_class', 10, 5 );

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

相关问题