WordPress - форум поддержки пользователей | русский ВордПресс

Помощь пользователям русского ВордПресс (WordPress)

Вы не зашли.

Объявление

#1 03.09.2008 19:28:59

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

[FAQ] ВИДЖЕТЫ в WordPress

Для всех:
Выпуск рассылки № 31. Виджеты в WordPress
статья старая, но тем не менее актуальная и в части виджетов разжевано все что можно.

Делаем тему для WordPress виджет-совместимой

Как сделать тему WordPress виджет совместимой за 3 шага

Еще про виджеты:
http://mywordpress.ru/support/viewtopic … 088#p11088

и еще про виджеты:
http://mywordpress.ru/support/viewtopic.php?id=2992

********************************************

КАК СДЕЛАТЬ 2 КОЛОНКИ С ВИДЖЕТАМИ?
(при условии, что у вас 3-х колончатая Тема с двумя сайдбарами)

в папке СВОЕЙ  Темы создаем файл functions.php
этот файл должен начинатся с <?php и заканчиваться ?>, не забывайте сохранить файл правильно и в кодировке utf-8.
Заметьте, если нужны дополнительные div до и после виджета — можно вставить типа так:
'before_widget' => '<div class="mywidget">', до и после названия виджета -- смотрите строчки before_title и after_title

Код:

<?php   
if ( function_exists('register_sidebars') ) {
    register_sidebar(array(
        'name'=>'Левая колонка',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '',
        'after_title' => '',
    ));  
    register_sidebar(array('name'=>'Правая колонка',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '',
        'after_title' => '',
    ));   
  }
?>

левая колонка:

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Левая колонка') ) { ?>
<!--сюда можно вставить все что угодно — будет отображаться если нет активных виджетов в этой колонке-->
<?php } ?>

правая колонка:

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Правая колонка') ) { ?>
<!--сюда можно вставить все что угодно — будет отображаться если нет активных виджетов в этой колонке-->
<?php } ?>

Вывод сайдбаров:

<?php get_sidebar(); ?> отвечает за вывод сайдбара sidebar.php
второй сайдбар можно вставить так:

Код:

<?php if (file_exists(TEMPLATEPATH.'/sidebar1.php')) {require(TEMPLATEPATH.'/sidebar1.php');}; ?>

все измененения — в файлах и в папке Темы.
Для wordpress 2.5 вывести второй сайбдар можно и так:
<?php get_sidebar('right'); ?> — для файла sidebar-right.php

КАК СДЕЛАТЬ ОДИН САЙДБАР С ВИДЖЕТАМИ?
причем виджет будет обернут в li, а заголовок виджета -- h2
Тут нужно понимать, что необходимость использовать html теги до/после виджета и до/после заголовка виждета зависит исключительно от того, как устроен сайдбар конкретной Темы, подробнее об этом читайте тут.
functions.php (в папке Темы)

Код:

<?php   
if ( function_exists('register_sidebars') ) {
    register_sidebar(array(
        'name'=>'Сайдбар',
        'before_widget' => '<li>',
        'after_widget' => '</li>',
        'before_title' => '<h2>',
        'after_title' => '</h2>',
    ));  
  }
?>

В боковой колонке (обычно sidebar.php в папке Темы):

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Сайдбар') ) { ?>
<!--сюда можно вставить все что угодно — будет отображаться если нет активных виджетов в этой колонке-->
<?php } ?>

или так:

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
        здесь код сайдбара
<?php endif; ?>

или так:

Код:

<?php if (function_exists('dynamic_sidebar')) dynamic_sidebar(); ?>

В подавляющем большинстве Тем sidebar.php написан так, что активация хотя бы одного виджета блокирует выполнение остального кода в файле (см. строчку <!--сюда можно вставить все что угодно...).

КАК НАСТРОИТЬ ВИДЖЕТЫ?

Все настройки виджетов делаются не в коде, а через админку: Дизайн --> Виждеты

Можно изменить логику работы кода в sidebar.php так, чтобы виджеты и "обычный" код мирно сосуществовали.

Для этого чаcть кода вынесем "за скобки", то есть расположим его до

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

или после комплиментарного

Код:

<?php endif; ?>

ПРИМЕР:
было:

Код:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
<ul>
<?php wp_list_categories('title_li=&show_count=1'); ?>
</ul>
<?php endif; ?>

стало:

Код:

<ul>
<?php wp_list_categories('title_li=&show_count=1'); ?>
</ul>
<?php if (function_exists('dynamic_sidebar')) dynamic_sidebar(); ?>

***************************************************************
Для [del]извращенцев[/del] продвинутых пользователей:
Отображение виджетов в сайдбарах при разных условиях


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#2 12.09.2008 14:12:39

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

у меня при использовании виджета, он появляется вместо имеющихся блоков в сайдбаре. Как поместить виджет ниже основных блоков??
Я попробовала сделать то что написано после : ".Можно изменить логику работы кода..." но похоже там не до конца написан код :(( потому что  получилось безобразие :((
Подскажите что и где поменять. вот мой правый сайдбар


<div class="sidebar2">
<ul>

<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('sidebar 2') ) : else : ?>

<li>
    <h2>Новые статьи</h2>   
<ul>
    <?php $myposts = get_posts('numberposts=10&offset=1');foreach($myposts as $post) :?>
<li>
    <a href="<?php the_permalink(); ?>"><?php the_title();?></a>
</li>
<?php endforeach; ?>
</ul>
</li>


    <?php endif; ?>

<li id="search">
   <label for="s"><?php _e('Поиск:'); ?></label>
   <form id="searchform" method="get" action="<?php bloginfo('home'); ?>">
    <div>
        <input type="text" name="s" id="s" size="15" /><br />
        <input type="submit" value="<?php _e('Найти'); ?>" />
    </div>
    </form>
</li>

</ul>
<?php include(TEMPLATEPATH . "/rsidebarad.php"); ?>   
</div>


Жизнь хороша :)

Неактивен

 

#3 12.09.2008 15:37:04

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

видимо так:

Код:

<div class="sidebar2">
<ul>
<?php if (function_exists('dynamic_sidebar')) dynamic_sidebar('sidebar 2'); ?>

<li>
    <h2>Новые статьи</h2>   
<ul>
    <?php $myposts = get_posts('numberposts=10&offset=1');foreach($myposts as $post) :?>
<li>
    <a href="<?php the_permalink(); ?>"><?php the_title();?></a>
</li>
<?php endforeach; ?>
</ul>
</li>
<li id="search">
   <label for="s"><?php _e('Поиск:'); ?></label>
   <form id="searchform" method="get" action="<?php bloginfo('home'); ?>">
    <div>
        <input type="text" name="s" id="s" size="15" /><br />
        <input type="submit" value="<?php _e('Найти'); ?>" />
    </div>
    </form>
</li>

</ul>
<?php include(TEMPLATEPATH . "/rsidebarad.php"); ?>   
</div>

Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#4 12.09.2008 16:19:07

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

К сожалению, на это выдало синтаксическую ошибку...


Жизнь хороша :)

Неактивен

 

#5 12.09.2008 16:23:42

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

я исправила, попробуйте еще раз


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#6 12.09.2008 16:28:24

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Теперь получилось !!! :)) ОГРОМНОЕ СПАСИБО :)
только виджет появился над  блоком, а как чтобы снизу??

Отредактированно marsi (12.09.2008 16:58:26)


Жизнь хороша :)

Неактивен

 

#7 12.09.2008 17:22:26

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Отлично, еще было бы хорошо, если бы Вы прочитали самый первый пост в этом топике, тогда бы стало понятно, что виджеты появляются там, где в коде указана строка
<?php if (function_exists('dynamic_sidebar')) dynamic_sidebar('sidebar 2'); ?>


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#8 12.09.2008 17:29:43

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

:))) Вы правы... Спасибо за помощь, все на местах


Жизнь хороша :)

Неактивен

 

#9 12.09.2008 17:48:29

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Пыталась исправить и правый сайдбар....но что-то на портачила, выдает синтаксическую ошибку..endif..подскажите что исправить

<div class="sidebar1">
    <ul>
    <li>
        <h2>Страницы</h2> 
    <ul><?php if (function_exists('wp_dtree_get_pages')) { wp_dtree_get_pages(); } 
    else { wp_list_pages('title_li='); } ?>
  </ul>
        </li>
<li>
    <h2>Рубрики</h2> 
     <ul><?php if (function_exists('wp_dtree_get_categories')) { wp_dtree_get_categories(); }
     else { wp_list_categories('hide_empty=0&hierarchical=1&orderby=name&show_count=0&title_li= '); } ?> 
     </ul> 
<li>
    <h2>Архивы</h2>
    <ul><?php if (function_exists('wp_dtree_get_archives')) { wp_dtree_get_archives(); }
    else { wp_get_archives('type=monthly&limit=12'); } ?></ul>
            </li>
        <li>
            <h2>Meta</h2>
            <ul>
                <?php wp_register(); ?>
                <li><?php wp_loginout(); ?></li>
                <li><a href="http://validator.w3.org/check/referer">Valid XHTML</a></li>
            </ul>
        </li>
        <li>
            <h2>Ссылки</h2>
            <ul>
                <?php get_links(-1, '<li>', '</li>', 'between', FALSE, 'name', FALSE, FALSE, -1, FALSE); ?>
        </ul>
</li>

<?php endif; ?>
   
</div>


Жизнь хороша :)

Неактивен

 

#10 12.09.2008 21:13:30

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

убрать <?php endif; ?>


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#11 13.09.2008 08:23:48

marsi
Блогер
Откуда: Челябинск
Зарегистрирован: 08.08.2008
Сообщений: 93
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

спасибо, уже нашла, в самом начале строку пропустила:)


Жизнь хороша :)

Неактивен

 

#12 03.10.2008 21:52:47

Cats
Блогер
Откуда: Germany
Зарегистрирован: 17.08.2008
Сообщений: 78
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

как заставить названия виджетных столбцов в зайтбарах стоять посередине?
третий месяц ищу) :P

Отредактированно Cats (03.10.2008 21:55:27)

Неактивен

 

#13 04.10.2008 07:24:15

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Cats написал:

как заставить названия виджетных столбцов в зайтбарах стоять посередине?

Стилями.

Cats написал:

третий месяц ищу) :P

Круто! :lol:


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#14 04.10.2008 17:23:53

Cats
Блогер
Откуда: Germany
Зарегистрирован: 17.08.2008
Сообщений: 78
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Котям труднее людей) но мы не сдаемся)

Неактивен

 

#15 04.10.2008 23:54:31

pink
Брат Флойда
Откуда: Москва
Зарегистрирован: 05.03.2008
Сообщений: 2326
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

.widgettitle - не оно?


Установка и настройка ВП, плагины, темы из готовой вёрстки. Стучитесь в ВК: https://vk.com/danilamarkelov 閱讀常見問題 Lexo Pyetjet e bëra më shpesh http://blog.dmpink.ru/ قراءة أسئلة وأجوبة

Неактивен

 

#16 08.10.2008 10:24:44

Cats
Блогер
Откуда: Germany
Зарегистрирован: 17.08.2008
Сообщений: 78
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

нет такого слова в стилях.

Неактивен

 

#17 08.10.2008 11:16:44

pink
Брат Флойда
Откуда: Москва
Зарегистрирован: 05.03.2008
Сообщений: 2326
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Cats написал:

нет такого слова в стилях.

нету, но вставить туда его можно. это стиль как раз накладываемый на заголовки.


Установка и настройка ВП, плагины, темы из готовой вёрстки. Стучитесь в ВК: https://vk.com/danilamarkelov 閱讀常見問題 Lexo Pyetjet e bëra më shpesh http://blog.dmpink.ru/ قراءة أسئلة وأجوبة

Неактивен

 

#18 08.10.2008 15:17:34

Cats
Блогер
Откуда: Germany
Зарегистрирован: 17.08.2008
Сообщений: 78
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

спасибо, попробую)

Неактивен

 

#19 08.10.2008 16:27:55

pink
Брат Флойда
Откуда: Москва
Зарегистрирован: 05.03.2008
Сообщений: 2326
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

.widgettitle {
    text-align: center;
}


Установка и настройка ВП, плагины, темы из готовой вёрстки. Стучитесь в ВК: https://vk.com/danilamarkelov 閱讀常見問題 Lexo Pyetjet e bëra më shpesh http://blog.dmpink.ru/ قراءة أسئلة وأجوبة

Неактивен

 

#20 08.10.2008 23:02:21

Cats
Блогер
Откуда: Germany
Зарегистрирован: 17.08.2008
Сообщений: 78
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

http://s57.radikal.ru/i158/0810/b4/182c5cf6651f.jpg
http://s50.radikal.ru/i130/0810/c1/479b2f95a56b.jpg

нихатит оно..

Неактивен

 

#21 09.10.2008 05:01:05

pink
Брат Флойда
Откуда: Москва
Зарегистрирован: 05.03.2008
Сообщений: 2326
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

О.о дайте файлик style.css плиз - гляну.


Установка и настройка ВП, плагины, темы из готовой вёрстки. Стучитесь в ВК: https://vk.com/danilamarkelov 閱讀常見問題 Lexo Pyetjet e bëra më shpesh http://blog.dmpink.ru/ قراءة أسئلة وأجوبة

Неактивен

 

#22 16.02.2009 18:33:41

dernert
Блогер
Откуда: USA
Зарегистрирован: 11.02.2009
Сообщений: 42

Re: [FAQ] ВИДЖЕТЫ в WordPress

Решил задать вопрос в этой теме, т.к. считаю её наиболее подходящей.

Использую тему оформления блога wp-multiflex-3-10, по умолчанию на главной страници блога отображаются виджеты, в левой и правой колонке, захожу в админку и хочу править виджеты, но там не отображается в активных не одного виджета (хотя на главной они есть), начинаю активировать, происходит ерунда какаето виджеты вобще пропадают или некоректно отображаются, хотя есть такие которые и правильно показывают своё содиржимое к при меру календарь. Вопрос как это попобороть.\


http://buy-sell-exchange.ru/

Неактивен

 

#23 16.02.2009 18:51:44

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

dernert написал:

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

Вы приняли за виджеты результат работы кода в шаблонах. Это НЕ ВИДЖЕТЫ.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#24 17.02.2009 05:38:34

dernert
Блогер
Откуда: USA
Зарегистрирован: 11.02.2009
Сообщений: 42

Re: [FAQ] ВИДЖЕТЫ в WordPress

Ю.Б. написал:

dernert написал:

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

Вы приняли за виджеты результат работы кода в шаблонах. Это НЕ ВИДЖЕТЫ.

А т.е. надо удалить принудительный код блоков в шаблоне, а в админке добавить виджет.


http://buy-sell-exchange.ru/

Неактивен

 

#25 17.02.2009 09:01:15

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: [FAQ] ВИДЖЕТЫ в WordPress

Ничего удалять не надо. Большинство Тем написаны так, что активация хотя бы одного виджета в сайдбаре отключает выполнения кода.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

Board footer

Работает на PunBB
© Копирайт 2002–2005 Rickard Andersson