详解WordPress开发中get_current_screen()函数的使用


Posted in Javascript onJanuary 11, 2016

get_current_screen() 函数是一个我们很少用到,但却超级实用的一个函数,如果你正着手于制作一个主题,却不知道文档应该放在哪里的话,那你应该看一下这个从 WordPress 3.0 才开始有的函数,该函数允许我们获得一个 WP_Screen 对象,并使用该对象的成员方法在后台里面加挂我们自定义的一个帮助菜单(该功能在,3.3版后得到完善)。

如果你不喜欢将 WordPress 研究的太透彻的话,那你现在就可以拿着酱油瓶,向前打酱油去了。

引言
首先,get_current_screen() 很简单,只是返回一个对象,所以本文主要讲述,获得对象后的操作。

描述

//使用起来很简单
$screen = get_current_screen();
// 此时 $screen 为实例化的对象

应用实例
我们来一个简单的例子,过程代码虽然可以显示但可能在时机应用中没有任何意义,只为举例。
虽然已经极具精简,但是还是很绕,噶的保佑您能看懂。

function xz_theme_options_add_page() {
 $theme_page = add_theme_page(
//如果成功,则返回hook标签,否则返回假到变量$theme_page。
  '主题设置',//页面Titlee
  '主题设置',// 在后台菜单中显示的名字
  'edit_theme_options',// 选项放置的位置
  'theme_options', // 别名,也就是get传送的参数
  'xz_theme_op_page' //显示内容调用的函数
 );
 if ( ! $theme_page )
 return;//建立失败则跳出函数
 add_action( "load-$theme_page", 'xz_help' );//在主题设置中挂帮助菜单
}
add_action( 'admin_menu', 'xz_theme_options_add_page' );
//在后台菜单加载时,加载xz_theme_options_add_page函数
 
function xz_theme_op_page (){//编辑页面显示函数
 echo "我是主题编辑页面";
}
 
function xz_help (){
 $help = '这里是帮助中间位置显示的内容
  <ol><li>A</li><li>B</li>
  <li>C</li><li>D</li></ol>';
 
 $sidebar = '这里是帮助右边栏显示的位置';
 
 $screen = get_current_screen();//第一主角,获得对象
 $screen->add_help_tab( array(//用成员方法注册帮助Tab
  'title' => '翔子主题帮助',//左边栏标签的名字
  'id' => 'theme-options-help',//不解释
  'content' => $help,//设定标签对应的内容
  )
 );
 $screen->set_help_sidebar( $sidebar );//方法只能使用一次,以最后一次调用为准。
}

效果
如果不出意外的话,经上面的折腾,你得主题就有了初步的帮助界面了。
点击下图的位置

详解WordPress开发中get_current_screen()函数的使用

自定义帮助按钮位置

点击后如下图

详解WordPress开发中get_current_screen()函数的使用

自定义帮助

总结
set_help_sidebar( )//方法只能使用一次,以最后一次调用为准。这里你可以添加一些你得api地址之类的或广告之类的东西。
add_help_tab() 方法可以多次使用,每使用一次标签会多一个,当然你还要设置对应的$help值。

Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(1)
Dec 23 Javascript
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
Jun 26 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 Javascript
jquery的总体架构分析及实现示例详解
Nov 08 Javascript
js面向对象之静态方法和静态属性实例分析
Jan 10 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
vue Render中slots的使用的实例代码
Jul 19 Javascript
javascript按钮禁用和启用的效果实例代码
Oct 29 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
提升jQuery的性能需要做好七件事
Jan 11 #Javascript
jQuery 移动端artEditor富文本编辑器
Jan 11 #Javascript
AngularJs动态加载模块和依赖注入详解
Jan 11 #Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 #Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 #Javascript
JavaScript基础知识及常用方法总结
Jan 10 #Javascript
jQuery实现的调整表格行tr上下顺序
Jan 10 #Javascript
You might like
基于php常用正则表达式的整理汇总
2013/06/08 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
JavaScript中创建对象和继承示例解读
2014/02/12 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
ES6入门教程之Array.from()方法
2019/03/23 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Python中字符串List按照长度排序
2019/07/01 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
详解Python3中的 input() 函数
2020/03/18 Python
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
接待员岗位责任制
2014/02/10 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
我的梦想演讲稿
2014/04/30 职场文书
2014年库房工作总结
2014/11/26 职场文书
2015政治思想表现评语
2015/03/25 职场文书
2015年组织部工作总结
2015/04/03 职场文书
2015年生活老师工作总结
2015/05/27 职场文书