пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 16:23 |
Чтоб выровнять в ряд категории, я юзаю такой код:
<p>Categories: <?php echo str_replace('<br />',' | ', wp_list_categories('style=&show_count=0&echo=0'));?></p>
Получается: Category1 | Category2 | Category3...
Как сделать тоже самое для pages? Без стилей и css
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 16:37 |
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 16:52 |
Неа, всеравно получается лист.. <ul><li>
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/11 в 17:00 |
А чем тебя стили не устроили?
<?php
$pageList = preg_replace('#<li\s(.+)>.+(href=".+" title=".+">.+</a>)</li>#siU','<a $1 $2', wp_list_pages('title_li=&depth=1&echo=0'));
preg_match_all('#(<a.+/a>)#siU', $pageList, $matches);
echo implode(' | ', $matches[1]);
?>
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 17:48 |
работает. спасибо.
теперь еще одна фишка интересная. все линки идут с таким class:
class="page_item page-item-2 current_page_item"
вобщем хочу чтоб все линки были без того class в чистом виде.
<a href="http://www.domain.com">domain</a>
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 18:02 |
О, так даже лучше:
Код: | <?php
preg_match ( '/<li class="page_item page-item-.* current_page_item">(<.*?>)<\/li>/', wp_list_pages ( array ('echo' => 0, 'title_li' => '', 'link_after' => ' | ' ) ), $matches );
echo ($matches[1]);
?> |
Последний раз редактировалось: cyberxxx (11/01/11 в 18:26), всего редактировалось 1 раз
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/11 в 18:11 |
<?php
$pageList = preg_replace('#<li\s(.+)>.+(href=".+" title=".+">.+</a>)</li>#siU','<a $1 $2', wp_list_pages('title_li=&depth=1&echo=0'));
preg_match_all('#(<a.+/a>)#siU', preg_replace('/class\s*=\s*"[^\"]*"/', '', $pageList), $matches);
echo implode(' | ', $matches[1]);
?>
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 18:13 |
Жуткие конструкции у тебя получаются, однако
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/11 в 18:16 |
cyberxxx писал: | Жуткие конструкции у тебя получаются, однако |
Я в пыхе дуб-дубом. Буду тебе признателен, если покажешь как сделать красиво и коротко.
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 18:19 |
Yacc - ты волшебник. зачет
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 18:21 |
cyberxxx писал: | Так отключил бы их (че сразу не спросил?):
Код: | <?php wp_list_pages(array('title_li' => '', 'link_after' => ' | ')); ?> |
Удали их:
Код: | echo preg_replace('/class="page_item page-item-.* current_page_item" /' , '', wp_list_pages(array('echo' => 0, 'title_li' => '', 'link_after' => ' | '))); | |
так тоже не то что надо выходит...
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 18:27 |
X-dream писал: | так тоже не то что надо выходит... |
Да не, я поправил уже. Ибо немного изначально немного не то было. В исправленном варианте и <li> удаляются, и лишние классы.
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 11/01/11 в 18:45 |
cyberxxx писал: | О, так даже лучше:
Код: | <?php
preg_match ( '/<li class="page_item page-item-.* current_page_item">(<.*?>)<\/li>/', wp_list_pages ( array ('echo' => 0, 'title_li' => '', 'link_after' => ' | ' ) ), $matches );
echo ($matches[1]);
?> | |
сорри но так почему-то вообще линки не появляются...
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 18:54 |
Yacc писал: | Я в пыхе дуб-дубом. Буду тебе признателен, если покажешь как сделать красиво и коротко. |
Не вопрос. Ультрашорт версия:
Код: | <?php preg_match_all ('/(<a.*?>.*?<\/a>)/is', wp_list_pages (array ('echo' => 0, 'title_li' => '')), $matches);
echo implode (" | ", $matches [0]); ?> |
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/11 в 18:55 |
cyberxxx: Notice: Undefined offset: 1
Ещё немного и получится так же жутко как у меня - дуба-дубового.
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 18:56 |
Где это "Notice: Undefined offset: 1 "???
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/11 в 18:57 |
cyberxxx писал: | Не вопрос. Ультрашорт версия:
Код: | <?php preg_match_all ('/(<a.*?>.*?<\/a>)/is', wp_list_pages (array ('echo' => 0, 'title_li' => '')), $matches);
echo implode (" | ", $matches [0]); ?> |
|
Вот это работает. Респект.
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 11/01/11 в 19:01 |
Я думал ты в ней Undefined offset нашел. Собственно, изначально проблема была в том, что я неправильно прочитал описание параметра "link_before". Выражение "link text inside <a> tag" почему-то понял, как "link text before <a> tag". Это меня из-за слова "before" в названии склинило. Думал выебнуться и обойтись одними лишь параметрами функции, а-н нет, регулярки юзать таки пришлось
|
|
|
|
пьяный мастер
С нами с 06.09.05
Сообщения: 11938
Рейтинг: 5837
|
Добавлено: 12/01/11 в 02:30 |
thx
|
|
|
|
С нами с 07.12.07
Сообщения: 764
Рейтинг: 89
|
Добавлено: 20/01/11 в 14:06 |
хм, а не проще было этоим li присвоить display:inline, сделать их не блоковыми, а строковыми.
|
|
|
|