<?php
/**
Created by PhpStorm.
User: mmx
Date: 2020/1/16
Time: 16:54
*/
// 使用 widgets_init 动作钩子来执行自定义的函数
add_action('widgets_init', 'wlkq_qqlogin_register_widgets');
// 注册小工具
function wlkq_qqlogin_register_widgets()
{
register_widget('wlkq_qqLogin');
}
//使用 WP_Widget 类来创建小工具
class wlkq_qqLogin extends WP_Widget
{
//构造函数
public function __construct()
{
$widget_ops = array(
'classname' => 'wlkq_qqLogin',
'description' => 'QQ登录'
);
$this->WP_Widget('QQ登录', 'QQ登录的小工具', $widget_ops);
}
//小工具管理界面
public function form($instance)
{
$defaults = array('title' => "QQ登录");
$instance = wp_parse_args((array)$instance, $defaults);
$title = $instance['title'];
?>
<p>标题: <input class="widefat" name="<?php echo $this->get_field_name('title'); ?>" type="text"
value="<?php echo esc_attr($title); ?>"/></p>
<?php
}
//保存小工具设置
public function update($new_instance, $old_instance)
{
$instance = $old_instance;
$instance['title'] = strip_tags(trim($new_instance['title']));
return $instance;
}
//显示小工具
public function widget($args, $instance)
{
extract($args);
$qqLoginObj = new QQLogin();
$url = $qqLoginObj->getAuthorizationCode();
$entry = "";
if (is_user_logged_in()) {
$this_user = wp_get_current_user();
if (get_user_meta($this_user->ID, 'qq_openid', true) == "") {
$title = "绑定您的QQ,下次方便登录!";
$entry = "绑定QQ";
} else {
return "";
}
} else {
$entry = "QQ扫码登录";
$title = $instance['title'];
}
echo " {$args['before_widget']}
{$args['before_title']}$title{$args['after_title']}
<div>
<ul>
<li><a href='{$url}'>{$entry}</a></li>
</ul>
<div style='text-align: right;font-size: 12px;margin-top: 12px'><a target='_blank' href='http://www.wuzhixiang.cn'>@未来可期制作</a></div>
</div>
{$args['after_widget']}
";
}
}
有的是直接输出 $before_widget、$after_widget,可能是老版本的,研究好长时间,查资料也没查到。在此总结一下。
版权声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
免责声明: 本网站所发布的一切资源均来自于会员发布以及互联网收集,不代表本站立场,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负;依据WordPress GPL开源许可协议分享,如有侵犯到您的权益,请联系我们。
免责声明: 本网站所发布的一切资源均来自于会员发布以及互联网收集,不代表本站立场,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负;依据WordPress GPL开源许可协议分享,如有侵犯到您的权益,请联系我们。