Как перечислить дерево страниц?

У меня есть эта структура, например:

Page 1 Sub-Page 1.1 Sub-Page 1.1.1 Sub-Page 1.1.2 Sub-Page 1.1.3 Sub-Page 1.2 Sub-Page 1.2.1 Sub-Page 1.2.2 Sub-Page 1.2.3 Page 2 Sub-Page 2.1 Sub-Page 2.1.1 Sub-Page 2.1.2 Sub-Page 2.1.3 Sub-Page 2.2 Sub-Page 2.2.1 Sub-Page 2.2.2 Sub-Page 2.2.3 

Я хотел бы иметь навигацию по боковой панели, которая имеет все элементы с корневой страницы, а текущая страница должна быть отмечена некоторым классом css. Например, я нахожусь на странице 2.2.2, навигация должна выглядеть так:

 Sub-Page 2.1 Sub-Page 2.1.1 Sub-Page 2.1.2 Sub-Page 2.1.3 Sub-Page 2.2 Sub-Page 2.2.1 Sub-Page 2.2.2.current_page Sub-Page 2.2.3 

Второй пример: я на странице 1.2:

 Sub-Page 1.1 Sub-Page 1.1.1 Sub-Page 1.1.2 Sub-Page 1.1.3 Sub-Page 1.2.current_page Sub-Page 1.2.1 Sub-Page 1.2.2 Sub-Page 1.2.3 

Я просмотрел код, но я не мог найти ничего подходящего. Есть идеи?

Solutions Collecting From Web of "Как перечислить дерево страниц?"

wp_list_pages выведет все страницы, сообщения и CPT, которые вы пожелаете. У вас даже есть контроль над классами CSS, некоторые из которых уже существуют:

Все элементы списка (li), созданные wp_list_pages (), помечены классом page_item. Когда wp_list_pages () вызывается при отображении страницы, элементу списка для этой страницы задан дополнительный класс current_page_item.