Произвольный разделитель в списке страниц
июня 11, 2010 | by Макс |Задача: получить список страниц в следующем виде, используя встроенную в WordPress функцию вывода страниц wp_list_pages():
Контакты | О сайте | Карта сайта
В коде это должно выглядеть следующим образом:
По умолчанию хтмл-код списка страниц выглядит примерно так:
<li class="page_item page-item-78"><a href="#" title="О сайте">О сайте</a></li>
<li class="page_item page-item-69"><a href="#" title="Карта сайта">Карта сайта</a></li>
Решение
Содержимое, которое возвращает функция wp_list_pages(), мы с помощью дополнительного параметра echo=0 поместим в переменную, в которой, используя регулярные выражения, сделаем необходимую нам замену тегов.
$list_pages = wp_list_pages('sort_column=menu_order&title_li=&depth=1&echo=0');
$list_pages = preg_replace('/<\/li>[^>]*<li([^>]*)><a/is', ' | <a$1', $list_pages);
$list_pages = preg_replace('/<li([^>]*)>/is', '', $list_pages);
$list_pages = str_replace('</li>', '', $list_pages);
echo $list_pages;
?>
В результате выполнения этой хитрой замены вышеуказанный список в виде тегов li превратится в такой:
Получился хтмл-код, которого нам и требовалось добиться.
h++p://wphacks.name/wp-list-pages-custom-separator/
Теги: функции WordPress
