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!
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 (viawalk_page_tree()
) uses theWalker_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 towp_list_pages()
(with thewalker
argument).if you don’t want to create your own walker, simply use
str_replace(array('<li>', '</li>', '<ul>', '</ul>'), '', wp_list_pages('echo=0'));
Thanx for the answers guys, I’ve edited my answer to reflect Jan Fabry’s comment about the
echo=0
argument, also thanx to One Trick Pony for pointing that out initially.I will definitely look into creating a custom walker, as it seems to be the better way of achieving the result?
Thanx again for all your help!
I used the strip_tags function: