当前位置: 首页 > news >正文

快速搭建网站的软件/周口seo公司

快速搭建网站的软件,周口seo公司,网站怎么做分享链接,企业网站如何更新备案信息很多人都说过,“一个良好的 WordPress 使用者只加载他们需要的文件。” 这个原则既适用于前端,也适用于后端。当你只是想 CSS 和 JS 出现在你所创建的那个页面,就没有必要在后台也加载了。“绝对不要在所有的管理界面上都允许 CSS 和 JS 文件…

很多人都说过,“一个良好的 WordPress 使用者只加载他们需要的文件。” 这个原则既适用于前端,也适用于后端。当你只是想 CSS 和 JS 出现在你所创建的那个页面,就没有必要在后台也加载了。

“绝对不要在所有的管理界面上都允许 CSS 和 JS 文件,这会引起与其他插件的冲突。”

WordPress 函数就能解决这个问题

几乎所有的管理员页面都有一个唯一的 URL,所以要做到在需要的页面上加载 JS 和 CSS 文件并不难。可以使用 $_SERVER['REQUEST_URI'] 或者是 $_GET['action'] 参数。其实还有一种更快捷,简单而又标准化的方式来实现这个目的。那就是 get_current_screen 函数。

关于 get_current_screen function 你需要了解的事情

  • 是在 WordPress 3.1 引入的,所以如果你在更旧版本上使用,会返回 call to undefined function 错误。如果不确定,可以用 function_exists 函数来检查一下是否可用。
  • 在 admin_init 和 init 挂钩上不可用。因为这是在那些挂钩请求之后才会初始化的。
  • 这个函数会返回 一个包含很多信息的叫 WP_Screen 的目标,但是我们需要的只是上面的 id 。
  • 在后端不可用。

几行代码就能使之大不相同

我们假设你的插件在设置菜单下有一个选项页面你是用下面这行代码写的:

add_options_page('My Plugin', 'My Plugin', 'manage_options', 'my_plugin', 'my_plugin_options');

此时,你需要添加额外的 CSS 和 JavaScript 到这个页面,代码如下:

复制代码
// Bad code below! Don't copy/paste!
add_action('admin_enqueue_scripts', 'my_plugin_scripts');function my_plugin_scripts() {wp_enqueue_style('farbtastic');wp_enqueue_script('farbtastic');
}
复制代码

 

上面是个很糟糕的方案,不要那样做。上面一段代码会让包含 CSS 和 JS 的 Farbtastic 颜色选择器出现在管理员界面的每一页。如果别的插件不需要你的 CSS 和 JS, 他们就必须用 wp_dequeue_* 函数来移除。这很没有必要而且很鲁莽,因为这是可以有更好的代码的。代码如下:

复制代码
add_action('admin_enqueue_scripts', 'my_plugin_scripts');function my_plugin_scripts() {// Include JS/CSS only if we're on our options pageif (is_my_plugin_screen()) {wp_enqueue_style('farbtastic');wp_enqueue_script('farbtastic');}
}// Check if we're on our options page
function is_my_plugin_screen() {$screen = get_current_screen();if (is_object($screen) && $screen->id == 'settings_page_my_plugin') {return true;} else {return false;}
}
复制代码

 

要实现这个功能很简单

使用 get_current_screen 函数来选择性加载 JS 和 CSS

如果你看到上图我们写的改进的代码,你会发现只加了一个 if 语句以及一个简单的函数 is_my_plugin_screen(这是用来确认是否打开的是插件选项页面)。控制 WP_Screen 的变量 $screen 有很多属性值,但是我们感兴趣的就只有 id 。这个 id 有一个 前缀 settings_page_,该前缀在所有的设置页面都是一样的。而字符串 my_plugin 是唯一的,因为我们在调用 add_options_page 函数的时候把它定位为第四个参数了。

代码很简单而且在所有的管理员界面都适用。可以很方便的看见转存到 $screen 的 id 是什么

echo '<pre>' . print_r(get_current_screen(), true) . '</pre>';

总结

  • 1、不要在所有的管理页面上都加载 CSS 或 JS 文件。这会引起与其他插件的冲突。
  • 2、在 init 函数之后使用 get_current_screen 来识别你的管理界面什么时候是可见的,可见的时候加载额外的东西。
  • 3、核心管理页面的 ID 可在 Codex 的这个页面上找到 Admin Screen Reference 。
  • 4、不要引用 <script> 或者 <style> 标签;要用 wp_enqueue_* 函数。
  • 5、先到 Codex 检查是不是你的脚本已经在 WP core 上面了。

原文:Quick Tip: Conditionally Including JS and CSS With get_current_screen

本文由 CloudCheung 翻译,转载请以可点击的超链接形式注明源地址。

转载于:https://www.cnblogs.com/xbdeng/p/5757416.html

http://www.lbrq.cn/news/1478485.html

相关文章:

  • 做网站前端后台/网络营销理论基础有哪些
  • 网站建设及经营应解决好的问题/app注册推广
  • asp网站连接access数据库/网页优化
  • 如何做网站挂qq/劳动局免费培训项目
  • 邢台做网站价位/网络推广怎样做
  • 乐山市建设局官方网站/网站排名seo培训
  • 为什么网站百度搜不到了/seo交流中心
  • 厦门网站建设模拟/seo软件推广哪个好
  • 微信开放平台如何注销/甲马营seo网站优化的
  • 新闻网站模板免费/计算机培训班有用吗
  • 网站后台管理系统怎么操作/青岛网站建设哪家好
  • 网站网站建设的原则有哪些/天津seo培训
  • 如何自制作网站/百度收录入口
  • discuz可以做门户网站吗/12月10日新闻
  • 香奈儿网站建设策划书/网站快速排名公司
  • 青岛免费建站/产品推广宣传方案
  • 什么情况自己建设网站/网站广告制作
  • 网站建设旗帜条幅/大连百度关键词排名
  • 网站备案的网站名称/郴州网站seo
  • 网络公司建网站/网上营销是干什么的
  • 集团网站改版方案/谷歌广告联盟官网
  • 房子装修报价清单表/seo推广软件品牌
  • 5个月的新站网站被k了会怎么样/长春seo排名公司
  • wordpress配置外网映射/seo搜索推广
  • hui怎么做网站/百度人工客服24小时
  • 建湖网站建设/建站开发
  • 博山政府网站建设哪家好/网址搜索引擎入口
  • 深圳培训网站开发/推广app的软文案例
  • o2o网站建设咨询/pr的选择应该优先选择的链接为
  • fifa17做任务网站/常州谷歌推广
  • 小杰数据结构(four day)——藏器于身,待时而动。
  • grafana/lock-stack 日志 Pipeline 配置
  • 深入剖析 RocketMQ 分布式事务:原理、流程与实践
  • 光伏气象监测系统:当阳光遇见科技
  • YOLOv5u:无锚点检测的革命性进步
  • Hutool 的 WordTree(敏感词检测)