Как в такой вывод сылок на Статич. страницы пристроить проверку: является ли ссылка ссылкой на текущую страницу? и в зависимости от этого втюхать li доп. класс current-page-item
<?php $pages = get_pages(); foreach ($pages as $pagg) {
$listpages .= '<li class="page_item page-item-'.$pagg->ID.'"><a href="'.get_page_link($pagg->ID).'" title=""><span>';
$listpages .= $pagg->post_title;
$listpages .= '</span></a></li>';
echo $listpages;
} ?>
видимо нужно как-то пристоить такую проверку? if (is_page() && $pagg->ID) == $current_page
у меня пока ничего не выходит 🙁
Дык wp_list_pages сам вставляет current_page_item. Зачем тебе свой цикл, из-за <span>, раздвижные двери делаешь?
Да 🙂
Нашла вот способ на форуме wordpress.org. так работает:
<?php
$my_pages = wp_list_pages(‘title_li=&echo=0’);
$my_pages = str_replace(‘">’, ‘"><span>’, $my_pages);
$my_pages = str_replace(‘</a>’, ‘</span></a>’, $my_pages);
echo $my_pages;
?>
блин, 2 часа убила по поиски 🙁
Так лучше. Хотя мне не очень нравится str_replace(‘">’, ‘"><span>’, $my_pages);
Я бы использовал что-то типа
echo preg_replace(‘"(<a.*?>)(.*?)(</a>)"’,’$1<span>$2</span>$3′,wp_list_pages(‘title_li=&echo=0’));
Думаю так
Спасибо за варианты! Попробую оба 🙂
А чем str_replace плох?
Там написано менять "> на "><span>, а такой фрагмент встречается два раза, что породит следующий код:
<li class="page_item page-item-1"><span><a href="/about" title="О сайте"><span>О сайте</span></a></li>
По-моему, один span лишний.
Спасибо, Юрий Дмитриевич! я что-то не подумала о лишнем span
Вдогонку. jQuery решение:
PS Не скажу куда это вставлять 😀 И обсуждать недостатки не буду.
И еще одно решение, самое рульное (для 2.7)