Почитал вот здесь – http://maxsite.org/page/ras33 как сделать свой вижет, но проблемка, вставляю функцию полностью как у Макса:
function widget_maxsite_1() {
$options = get_option('widget_maxsite_1');
$hide_empty = $options['hide_empty'] ? '1' : '0';
$show_count = $options['show_count'] ? '1' : '0';
echo '<h2 class="box">Рубрики</h2><ul class="is_link">';
wp_list_categories('title_li=&show_count=' . $show_count .
'&hide_empty=' . $hide_empty);
echo '</ul>';
}
function widget_maxsite_1_options() {
# получаем наши опции. Обратите внимание на название
# оно должно быть такое-же, как в предыдущей функции
$options = $newoptions = get_option('widget_maxsite_1');
# получаем данные POST. Если они есть, то есть было обновление настроек,
# то обновляем переменную $newoptions новыми значениями.
# Сами значения - это названия полей формы (см. ниже)
# Функция isset проверяет есть ли такое значение
# вы помните, что опции hide_empty и show_count принимают
# значения 1 или 0 (отмеченны или нет)
if ( $_POST['widget_maxsite_1_submit'] ) {
$newoptions['hide_empty'] =
isset($_POST['widget_maxsite_1_hide_empty']);
$newoptions['show_count'] =
isset($_POST['widget_maxsite_1_show_count']);
}
# если новые опции не равны старым, то есть изменились
# то обновляем старые
if ( $options != $newoptions ) {
$options = $newoptions;
update_option('widget_maxsite_1', $options);
}
# Получаем значения переменных. Нужно это для того,
# чтобы в самой форме восстановить значения чекбоксов
$hide_empty = $options['hide_empty'] ? 'checked="checked"' : '';
$show_count = $options['show_count'] ? 'checked="checked"' : '';
# вывод формы
# Обратите внимание на префикс полей "widget_maxsite_1_"
# нужно обязательно использовать уникальные поля, поскольку
# у вас будут множество виджетов и если имена (name и id)
# будут совпадать, то в массиве POST может оказаться значение
# из другого виджета
echo <<<EOF
Скрывать рубрики без записей
<input class="checkbox" type="checkbox" {$hide_empty}
id="widget_maxsite_1_hide_empty" name="widget_maxsite_1_hide_empty" />
<br />Показывать количество записей
<input class="checkbox" type="checkbox" {$show_count}
id="widget_maxsite_1_show_count" name="widget_maxsite_1_show_count" />
<input type="hidden" id="widget_maxsite_1_submit"
name="widget_maxsite_1_submit" value="1" />
EOF;
}
register_sidebar_widget('Виджет 1', 'widget_maxsite_1');
register_widget_control('Рубрики для меня', 'widget_maxsite_1_options');
А в итоге получаю:
Parse error: syntax error, unexpected $end in бла-бла-бла\functions.php on line 100
Сотая стока – она закрывает весь код (?>)
Если убираю кусок
echo <<<EOF
Скрывать рубрики без записей
<input class="checkbox" type="checkbox" {$hide_empty}
id="widget_maxsite_1_hide_empty" name="widget_maxsite_1_hide_empty" />
<br />Показывать количество записей
<input class="checkbox" type="checkbox" {$show_count}
id="widget_maxsite_1_show_count" name="widget_maxsite_1_show_count" />
<input type="hidden" id="widget_maxsite_1_submit"
name="widget_maxsite_1_submit" value="1" />
EOF;
то ошибка исчезает, но и не работает ничего 🙂
В пхп не силен, подскажите в чем проблема может быть?
Может просто рановато?
Может, но ведь хочется)