详解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 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 Javascript
快速学习JavaScript的6个思维技巧
Oct 13 Javascript
第一章之初识Bootstrap
Apr 25 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
Sep 27 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
微信小程序修改数组长度的问题的解决
Dec 17 Javascript
使用preload预加载页面资源时注意事项
Feb 03 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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 基本语法格式
2009/12/15 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
django中嵌套的try-except实例
2020/05/21 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
怎样声明接口
2014/09/19 面试题
android面试问题与答案
2016/12/27 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
工程造价专业大学生职业规划范文
2014/03/09 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
七年级英语教学反思
2016/02/15 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
springboot入门 之profile设置方式
2022/04/04 Java/Android
Redis批量生成数据的实现
2022/06/05 Redis