详解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 事件记录使用说明
Oct 20 Javascript
使用phantomjs进行网页抓取的实现代码
Sep 29 Javascript
JS实现可调整倒计时间代码分享
Aug 18 Javascript
学习JavaScript设计模式之观察者模式
Apr 22 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
JavaScript输入框字数实时统计更新
Jun 17 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 Javascript
使用vue-cli webpack 快速搭建项目的代码
Nov 21 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
提升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空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
js实现盒子移动动画效果
2020/08/09 Javascript
vue实现登录功能
2020/12/31 Vue.js
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python测试驱动开发实例
2014/10/08 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
基层党组织公开承诺书
2014/03/28 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2014年保管员工作总结
2014/11/18 职场文书
法制教育观后感
2015/06/17 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
结婚仪式主持词
2015/06/29 职场文书
我的生日感言
2015/08/03 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python