никак не могу понят в чем дело .. есть бесплатная тема, в ней автор вроде прописал все для ввода допольнительных виджетов, только когда перетаскиваю какой нить виджет, основные пункты сайдбара исчезают и появляется только новый виджет.
в файл functions.php есть вроде нужный код
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => __('Sidebar','TechBlog'),
'before_widget' => '<div id="%1$s" class="widget_style">',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
в siderbar.php тоже вроде все норм
[quote]<!–side_bar –>
<div id="side_bar" class="column">
<div class="indent">
<div class="widget_style" id="statusbar">
<?php /* If this is a 404 page */ if (is_404()) { ?>
<?php } ?>
</div>
<?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(__(‘Sidebar’,’theme406′)) ) : else : ?>
<div id="categories" class="widget_style">
<h2><?php _e(‘Страницы’,’theme406′); ?></h2>
<ul >
<?php wp_list_pages(‘show_count=0&title_li=0’); ?>
</ul>
</div>
<div id="categories" class="widget_style">
<h2><?php _e(‘Рубрики’,’theme406′); ?></h2>
<ul >
<?php wp_list_categories(‘show_count=0&title_li=0’); ?>
</ul>
</div>
<div class="widget_style" id="archives">
<h2><?php _e(‘Архивы’,’theme406′); ?></h2>
<ul >
<?php get_archives(‘monthly’,’10’,’custom’,'<li>’,'</li>’); ?>
</ul>
</div>
<div class="widget_style" id="archives">
<h2><?php _e(‘Статистика’,’theme406′); ?></h2>
<ul ></ul>
</div>
<?php endif; ?>
</div>
</div>
<!–side_bar end–>[/quote]
почему не работает ? что я делаю не правильно ?

Делаете правильно, понимаете неправильно. В админке не дополнительные виджеты, а единственно возможные. В siderbar.php – вообще не виджеты. То, что Вы выделили в коде, как раз и означает, что при включении виджетов код в сайдбаре не обрабатывается.
так выходит нужно просто убрать этот код или как ? помогите пожалуйста уже понять до конца
Еще раз: код в sidebar.php (это не виджеты!), расположенный между
<?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(__(‘Sidebar’,’theme406′)) ) : else : ?>
и
<?php endif; ?>
не выполняется, если активирован хотя бы один виджет.
По-другому: при таком написании работает либо код в сайдабре, либо виджеты.
А дальше уже Вам решать: или чистый код (выбор редакции :)), или виджеты, или переделать вызов виджетов так, чтобы работал и код, и вызывались виджеты.
Да, это я уже понял …
а как именно и что нужно переделать для того, чтобы работал и код и виджеты показались одновременно ? есть какое-нибудь решение для всех тем или нужно по отдельности менять под каждую тему ?
заранее спасибо за помощь
решение есть… но, для начала давай почитаем MAX’a
http://maxsite.org/ras31
а потом будем смотреть с тобою 🙂
(да, знаю, нервы на пределе… но, через это все проходят) 🙂
…слушай, а дай ка твою темку поюзать?!
… пойду искать у MAX’a
однажды, я где-то уже видел подобную темку…
Там была хитрость в том, что можно было обхитрить ВП
дописав исполняемый код то ли до, то ли после основного кода обработки виджета…
это было месяца три-четы назад…
Хоть убей, – не помню, где я это уже видел!
(у меня была моя любимая темка вообще без виджетов-поддержки и я искал всё это)
…
не знаю вот только успею ли за Гуру 🙂
… вдогонку…
а когда исчезают основные пункты сайдбара, они случайно не появляются в админке, в том месте, откуда их перетаскивают в виде виджетов?
* не в тему… но!
забиваю в гугле поиск и вижу свои же слова вышеоставленные… в гугле (3 минуты назад)
Вот это скорость индексации!!! (я тоже так хочу)
всё!
у меня началась тихая африканская истерика…
Гуру, – научите такой индексации! м?
Отдельно под каждую Тему, т.к. алгоритм находится в файле sidebar.php (или аналогичном) Темы.
Метод 1.
Находим строку
<?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(__(‘Sidebar’,’theme406′)) ) : else : ?>
или, что чаще встречается,
if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
и переделываем на
if ( function_exists(‘dynamic_sidebar’) ) dynamic_sidebar(); ?>
Убираем <?php endif; ?> соответсвующий этому IFу
В том месте, где стоит вышеозначенная строка будут выведены все виджеты, активированные в админке.
Метод 2.
Убираем совсем if …. и endif, вызываем виджеты как функции в нужных местах. Этот метод позволяет организовать условный показ виджетов. Подробно описан Максом http://maxsite.org/otobrazhenie-vidzhetov-v-saydbarah-pri-raznyih-usloviyah
спасибо большое за помощь, сделал первым методом и все сработало, уже на двух разных тем!
Кстати, у меня отображались и виджеты, и то, что прописано в sidebar, пока не удалил все, что между вышеуказанными операми – отображалось и то и другое