详解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 相关文章推荐
异步动态加载js与css文件的js代码
Sep 15 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
JS中的函数与对象的创建方式
May 12 Javascript
微信小程序音乐播放器开发
Nov 20 Javascript
vue实现购物车功能(商品分类)
Apr 20 Javascript
Node.js API详解之 string_decoder用法实例分析
Apr 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中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
js分页工具实例
2015/01/28 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python中reader的next用法
2018/07/24 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
Python守护进程实现过程详解
2020/02/10 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
网络工程师专家职业发展路线
2014/02/14 职场文书
六五普法宣传标语
2014/10/06 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript