Форум по WordPress

Вопросы и ответы по WordPress

Вы не зашли.

#1 02-02-2009 19:04:38

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

get_pages (свой формат вывода wp_list_pages)

Как в такой вывод сылок на Статич. страницы пристроить проверку: является ли ссылка ссылкой на текущую страницу? и в зависимости от этого втюхать 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
у меня пока ничего не выходит sad


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#2 02-02-2009 19:11:19

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6600
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Дык wp_list_pages сам вставляет current_page_item. Зачем тебе свой цикл, из-за <span>, раздвижные двери делаешь?


Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

#3 02-02-2009 19:30:01

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Да smile
Нашла вот способ на форуме 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 часа убила по поиски sad


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#4 02-02-2009 19:37:46

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6600
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Так лучше. Хотя мне не очень нравится str_replace('">', '"><span>', $my_pages);
Я бы использовал что-то типа
echo preg_replace('"(<a.*?>)(.*?)(</a>)"','$1<span>$2</span>$3',wp_list_pages('title_li=&echo=0'));


Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

#5 02-02-2009 20:24:27

fear86
Главный специалист
Откуда: Харьков, Украина
Зарегистрирован: 01-08-2008
Сообщений: 252
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Думаю так

Код:

 <?php $pages = get_pages(); foreach ($pages as $pagg) {
               $listpages .= '<li class="page_item page-item-'.$pagg->ID.(is_page($pagg->ID) ? ' current-page-item ':'').'"><a href="'.get_page_link($pagg->ID).'" title=""><span>';
               $listpages .= $pagg->post_title;
               $listpages .= '</span></a></li>';
               echo $listpages;
         } ?>

Отредактированно fear86 (02-02-2009 20:25:09)


Рекурсия: см. рекурсия.

Неактивен

 

#6 03-02-2009 07:34:08

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Спасибо за варианты! Попробую оба smile

А чем str_replace плох?


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#7 03-02-2009 08:12:50

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6600
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Там написано менять "> на "><span>, а такой фрагмент встречается два раза, что породит следующий код:

<li class="page_item page-item-1"><span><a href="/about" title="О сайте"><span>О сайте</span></a></li>

По-моему, один span лишний.


Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

#8 03-02-2009 08:54:43

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Спасибо, Юрий Дмитриевич! я что-то не подумала о лишнем span


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#9 03-03-2009 21:50:49

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6600
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

Вдогонку. jQuery решение:

Код:

$('.pagenav a').wrapInner('<span></span>')

PS Не скажу куда это вставлять big_smile И обсуждать недостатки не буду.


Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

#10 06-03-2009 21:00:58

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6600
Вебсайт

Re: get_pages (свой формат вывода wp_list_pages)

И еще одно решение, самое рульное (для 2.7)

Код:

<?php wp_list_pages('title_li=&link_before=<span>&link_after=</span>'); ?>

Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Украина онлайн