Create Widget
Абстрактный класс SP_Framework_Widget_ABS используется для создания виджетов
Что бы создать виджет, нужно переопределить два метода create и get. Метод create используется для создания виджета. Метод get используется для отображения виджета во внешней части сайта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?php class SP_Framework_Custom_Widget extends SP_Framework_Widget_ABS { function __construct(){ parent::__construct('widget_name', 'Some Widget', array('description' => 'Description of Widget')); add_action('widgets_init', array($this,'register')); } function register() { register_widget(get_class($this)); } function create($data){ $this->add_field( 'text', 'input text', 'Description', $this->default($data, 'sp_str'), 'sp_str' ); $this->add_field( 'number', 'input number', 'Description', $this->default($data, 'sp_num'), 'sp_num' ); } function get($args, $data){ $parameters = array(); foreach ($data as $key => $value) { $parameters[$key] = apply_filters('widget_text', $value); } echo $args['before_widget']; echo '<p>'.$parameters['sp_str'].'</p>'; echo '<p>'.$parameters['sp_num'].'</p>'; echo $args['after_widget']; } } $spAbsWC = new SP_Framework_Custom_Widget(); ?> |