|
使用WP_Widget类来创建小工具
- //注册
- add_action('widgets_init',function(){
- register_widget('qss_info');
- });
复制代码
- //注册 如果上方出错,可能PHP版本低,用这个
- add_action('widgets_init','new_register_widgets');
- function new_register_widgets(){
- register_widget('qss_info');
- }
复制代码
- //类
- class qss_info extends WP_Widget{
- //建立
- public function __construct(){
- $widget_ops = array(
- 'class_name' => 'my_widget',
- 'description' => '我是描述信息',
- );
- parent::__construct('my_widget','我是标题',$widget_ops);
- }
- //前台输出内容
- public function widget($args,$instance){
- extract($args);
- $title = apply_filters('widget_title', $instance['title']);
- $name = empty($instance['name']) ? ' ' : $instance['name'];
- $tips = empty($instance['tips']) ? ' ' : $instance['tips'];
- echo $before_widget;
- echo '<p>标题:'.$title.'</p>'
- echo '<p>姓名:'.$name.'</p>'
- echo '<p>提示:'.$tips.'</p>'
- }
- //后台小工具管理页面
- public function form($instance){
- $defaults = array('title'=>'我是新小工具','name'=>'张三','tips'=>'法外狂徒'); //默认值,使用时可修改
- $instance = wp_parse_args((array)$instance,$defaults);
- $title = $instance['title'];
- $name = $instance['name'];
- $tips = $instance['tips'];
- ?>
- <p>标题:<input class="widefat" name="<? echo $this->get_field_name('title'); ?>" type="text" value="<? echo esc_attr($title); ?>"></p>
- <p>姓名:<input class="widefat" name="<? echo $this->get_field_name('name'); ?>" type="text" value="<? echo esc_attr($name); ?>"></p>
- <p>提示:<textarea class="widefat" name="<? echo $this->get_field_name('title'); ?>" /> <? echo esc_attr($title); ?> </textarea></p>
- <?
- }
- //保存上方的设置
- public function update($new_instance, $old_instance){
- $instance = $old_instance;
- $instance['title'] = strip_tags(trim($new_instance['title']));
- $instance['name'] = strip_tags(trim($new_instance['name']));
- $instance['tips'] = strip_tags(trim($new_instance['tips']));
- return $instance;
- }
- }
复制代码
|
|