Каждый виджет начинается с тега <li> и заканчивается </li>, т.е. вот пример сайтбара:
<DIV>
<UL>
<LI id="text-319276711" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 1</H2>
<DIV class="textwidget" >Виджет 1 текст</DIV>
</LI>
<LI id="text-319288041" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 2</H2>
<DIV class="textwidget" >Виджет 2 текст</DIV>
</LI>
</UL>
</DIV>
А как сделать так, чтоб виджет начинался и заканчивался не li, а к примеру <table>, т.е. вот так:
<DIV>
<UL>
<table><tr><td><LI id="text-319276711" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 1</H2>
<DIV class="textwidget" >Виджет 1 текст</DIV>
</LI></td></tr></table>
<table><tr><td><LI id="text-319288041" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 2</H2>
<DIV class="textwidget" >Виджет 2 текст</DIV>
</LI></td></tr></table>
</UL>
</DIV>
Не подскажете какой файл надо править?
Если не можете самостоятельно найти файл, то не стоит и лезть в движок с хакерскими намерениями.
Файл functions.php в папке вашей темы: before_widget и after_widget, т.е. ДО виджета и ПОСЛЕ него.
Help Deskспасибо большое!
Еще такой вопрос – у меня два сайтбара, для первого эта функция работает, а вот как ее подключить ко второму? В functions.php у меня:
<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ‘<li id="%1$s" class="widget %2$s">’,
‘after_widget’ => ‘</li>’,
‘before_title’ => ‘<h2 class="widgettitle">’,
‘after_title’ => ‘</h2>’,
));
if ( function_exists(‘register_sidebars’) )
register_sidebars(2);
?>
У вас типичная ф-ция. В чем заключается неработание для втогрого сайдбара?
Прошу прощения – невнимательно посмотрел на ваш код.
У вас два if’a, а должен быть один. Т.е. либо во второй добавьте массив как в первом, либо в первом укажите, что сайдбара два.
Как-то так:
<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar(2, array(
‘before_widget’ => ‘код ДО виджета’,
‘after_widget’ => ‘код ПОСЛЕ виджета’,
‘before_title’ => ‘код ДО заголовка’,
‘after_title’ => ‘код ПОСЛЕ заголовка’,
));
?>
Но если честно: то, что вы делаете может вам еще боком выйти. Лучше разберитесь с оформлением при помощи css, а не при помощи «тюнинга» кода.
http://mywordpress.ru/support/viewtopic.php?id=5083