Свой виджет

Почитал вот здесь – 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;

то ошибка исчезает, но и не работает ничего 🙂
В пхп не силен, подскажите в чем проблема может быть?

Может просто рановато?

Может, но ведь хочется)

Anonymous
Отправить
Ответ на: