removing tags from wp_list_pages() using PHP

as the title states, I am trying to remove the <li></li> tags from the list that gets generated with wp_list_pages().

My thinking is to somehow run a for/foreach loop through the menu items and remove the <li></li> tags using str_replace(), but first I would need to parse the returned list into an array or something to traverse through the list items…

Any ideas on how I can accomplish that? or maybe a better way of going about it?

Thanx in advance!

4 Answers
4

You could try to remove them, but maybe it’s easier to not generate them in the first place. The page list is displayed by a Walker. This is a class that “walks” over all the items in the tree, and displays them. wp_list_pages() by default (via walk_page_tree()) uses the Walker_Page class, which displays everything in <li> elements. However, you can duplicate this class, remove everything it in you don’t need, and pass that class to wp_list_pages() (with the walker argument).

Leave a Comment