Я использую WordPress 3.1.3 и ищу создание бокового виджета, который более или менее ведет обратный отсчет до повторяющегося события.У меня есть базовый PHP-код для обратного отсчета, работающий в автономном скрипте, но у меня возникают проблемы, связанные с «виджетом» кода, , поскольку он содержит ссылки на другие функции.
Вот дистиллированная версия того, что у меня есть (не включая требуемый заголовок плагина, и т. Д. ):
add_action("widgets_init", array('LMC_countdown', 'register'));
class LMC_countdown extends WP_Widget {
function control(){
echo "This widget doesn't need a control panel in WordPress right now.";
# In all likelihood, that'll be a separate issue for later. :)
}
function widget($args){
echo $args['before_widget'];
# //////////////////// BEGIN MAIN WIDGET FUNCTION ////////////////////
$year = date("Y",$today);
echo "<div id=\"sidebar-countdown\">";
/* ...
quite a bit of additional PHP logic here, but boils down to:
*/
echo countdownTo(findEventStart($year));
echo "</div>";
# //////////////////// END MAIN WIDGET FUNCTION ////////////////////
echo $args['after_widget'];
}
function register(){
register_sidebar_widget('LMC Countdown', array('LMC_countdown', 'widget'));
register_widget_control('LMC Countdown', array('LMC_countdown', 'control'));
}
} # end class LMC_countdown
Проблема, конечно, в том, что countdownTo()
findEventStart()
- это пользовательские функции, которые «поддерживают» основное действие виджета, которые сами вызывают несколько других «вспомогательных функций».Куда бы я ни пытался поместить эти вспомогательные функции - будь то в классе после register()
или в самой функции widget()
- я получаю ошибки, что первая из этих функций не определена.
Я получил большую частьмой структурный код для виджета из учебников и примеров «Hello world», но ни один из них не является достаточно надежным, чтобы в них могли быть встроены функции PHP.Так, где я должен поместить эти «вспомогательные функции» и как я должен вызывать их в виджете? Заранее спасибо за помощь.