您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

WordPress代码和结构分析

易梦2025-03-19WordPress教程已有人查阅

导读文件/wp-admin/theme-install.php1、wp_die(__())函数分析2、wp_reset_vars( array('tab', 'paged') )分析在theme-install.php中执行完wp_reset_vars( array('tab', 'paged') )后

文件/wp-admin/theme-install.php
1、wp_die(__())函数分析
if ( ! current_user_can('install_themes') ) //判断是否有安装主题的权限
wp_die(__('You do not have sufficient permissions to install themes on this site.'));
wp_die函数在“wp-includes/function.php”文件内,作用是 终止PHP代码的执行并显示HTML格式的消息提示。这个方法是用来代替PHP函数die,区别在于这个方法支持HTML代码。die在PHP中是退出当前程序并输出一段消息。
“__(”是个什么函数呢?这个函数在“load-script.php”、“load-style.php”、”l10.php”等文件中出现定义了。在”load-script.php”、”load-style.php”中,function __() {}都是定义的空函数。在theme-install.php文件中是引用的“l10.php”文件的“__()”函数的。他们的文件包含关系如下:
在l10.php中,“__()”函数是这样定义的:
function __( $text, $domain = 'default' ) {
return translate( $text, $domain );
}
其中translate是一个应用在多语言环境下的翻译函数。(猜测的)
WordePress对很多PHP系统自带的函数进行了包装,利用代理模式来解决PHP版本升级和PHP内置函数改变所带来的影响。
2、wp_reset_vars( array('tab', 'paged') )分析
wp_reset_vars是一个重新设置全局变量的函数,具体代码如下:
//wp-admin/includes/misc.phpfunction wp_reset_vars( $vars ) {
for ( $i=0; $i<count( $vars ); $i += 1 ) {
$var = $vars[$i];
global $$var;
if ( empty( $_POST[$var] ) ) {
if ( empty( $_GET[$var] ) )
$$var = '';
else
$$var = $_GET[$var];
} else {
$$var = $_POST[$var];
}
}
}
在theme-install.php中执行完wp_reset_vars( array('tab', 'paged') )后,如果$_POST[“tab”]或者$_GET[“tab”]有值得话,我们将会得到一个以$_POST[“tab”]或者$_GET[“tab”]值为变量的全局变量,如果没有值的话,将会清楚全局变量。
在这个函数中,有一个global $$var这个定义比较费解。我写了个简单的测试代码搞明白了是什么意思:
$var="abc";
$$var="12";
echo($$abc);
这段代码输出的结果就是12。WordPress代码非常复杂,下次继续分析wp_enqueue_style和wp_enqueue_script的作用。

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码
  • (自适应)蓝色自动溶剂萃取仪器设备类网站pbootcms模板下载本模板为溶剂萃取设备、实验室仪器等精密仪器行业设计,采用PbootCMS内核开发,具有高度专业性和行业适配性。模板设计充分考虑了仪器设备行业展示需求,能够呈现各类精密仪器的技术参数、应用场景和解决方案。查看源码
  • (PC+WAP)压缩机离心风机红色机械设备营销型网站pbootcms模板基于PbootCMS开发的压缩机/离心风机专用模板,助力机械设备企业构建高效营销平台;模板可编辑压缩机参数表、风机性能曲线等专业展示模块查看源码
  • (自适应)家禽饲养养殖基地pbootcms模板响应式模板下载为家禽饲养企业、养殖基地设计的响应式网站模板,聚焦畜禽产品展示、养殖技术分享及企业信息服务。采用PbootCMS内核开发,响应式技术确保PC与手机端数据实时同步查看源码
  • 帝国CMS7.2互联网自媒体门户整站带数据源码免费下载分享一款高仿极客网门户模板,帝国cms7.2版本,非常适合互联网、自媒体、文章门户网站使用。测法发现备份数据恢复报错,找了几个版本的都是一样的,有能力的自行修复查看源码
  • (自适应)光伏测试仪器电站运维设备网站源码免费下载本模板为光伏检测设备与电站运维服务企业设计,采用PbootCMS内核开发,具备完整的设备展示、技术文档管理及客户服务功能模块。通过自适应结构与SEO优化框架,有效提升企业在移动端和搜索引擎中的专业形象。查看源码
分享笔记 (共有 篇笔记)
验证码: