我有一个引导导航栏,它的项目必须由WordPress的WP_list_pages()方法生成。运行此方法后,项目有另一个类。我想给予他们引导类。我该怎么做?非常感谢
nnt7mjpx1#
按照wp_list_pages()函数的代码,您将看到该函数依赖于Walkers来构建列表项,并使用过滤器来扩展其功能。因此,您可以创建自己的Walker扩展Walker_Page,或者向wp_list_pages和page_css_class钩子添加一个过滤器来操作输出字符串以添加您的类,如下所示:
wp_list_pages()
Walker
Walker_Page
wp_list_pages
page_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 );
上面的代码没有经过测试,您可能需要通过添加验证和添加所需的类来对其进行调整。
1条答案
按热度按时间nnt7mjpx1#
按照
wp_list_pages()
函数的代码,您将看到该函数依赖于Walkers来构建列表项,并使用过滤器来扩展其功能。因此,您可以创建自己的
Walker
扩展Walker_Page
,或者向wp_list_pages
和page_css_class
钩子添加一个过滤器来操作输出字符串以添加您的类,如下所示:上面的代码没有经过测试,您可能需要通过添加验证和添加所需的类来对其进行调整。