5ucms论坛
标题:
wordpress插件开发教程04 添加到小工具 侧边栏小工具
[打印本页]
作者:
admin
时间:
2021-6-7 22:00
标题:
wordpress插件开发教程04 添加到小工具 侧边栏小工具
使用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;
}
}
复制代码
欢迎光临 5ucms论坛 (http://bbs.5ucms.com/)
Powered by Discuz! X3.2