详解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 相关文章推荐
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
form表单转Json提交的方法(推荐)
Sep 23 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
js实现鼠标拖拽缩放div实例代码
Mar 25 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
node.js使用http模块创建服务器和客户端完整示例
Feb 10 Javascript
Javascript异步执行不按顺序解决方案
Apr 30 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 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
fgetcvs在linux的问题
2012/01/15 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
js表单登陆验证示例
2016/10/19 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Python实现的knn算法示例
2018/06/14 Python
python对html过滤处理的方法
2018/10/21 Python
我就是这样学习Python中的列表
2019/06/02 Python
python实现贪吃蛇双人大战
2020/04/18 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
国家励志奖学金获奖感言
2014/01/09 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
介绍信样本
2015/01/31 职场文书
银行稽核岗位职责
2015/04/13 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python