您现在的位置是:首页 > 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(__())函数分析
“__(”是个什么函数呢?这个函数在“load-script.php”、“load-style.php”、”l10.php”等文件中出现定义了。在”load-script.php”、”load-style.php”中,function __() {}都是定义的空函数。在theme-install.php文件中是引用的“l10.php”文件的“__()”函数的。他们的文件包含关系如下:
在l10.php中,“__()”函数是这样定义的:
WordePress对很多PHP系统自带的函数进行了包装,利用代理模式来解决PHP版本升级和PHP内置函数改变所带来的影响。
2、wp_reset_vars( array('tab', 'paged') )分析
wp_reset_vars是一个重新设置全局变量的函数,具体代码如下:
在这个函数中,有一个global $$var这个定义比较费解。我写了个简单的测试代码搞明白了是什么意思:
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的作用。
本文标签:
很赞哦! ()
图文教程
WordPress后台设置WordPress地址和站点地址的方法
今天我在TeachCourse博客中不小心把WordPress地 址和站点地址都改为了,结果重新刷新TeachCourse博客页面的时候,页面排版错乱的情况,意识到 有大事发生,于是乎想要在登录后台将
wordpress多站点使用同一个数据库的方法
尚未安装WordPress在初始配置WordPress之前,将wp-config.php中的$table_prefix值(默认为wp_)修改为所需要的表前缀(本文中假设为blog_)
wordpress插件存放的文件夹位置
wordpress插件是后台直接搜索安装或者上传安装的,在wp-content/plugins/ 这个文件夹下,plugins就是插件存放的位置。
Ubuntu搭建wordpress网站的方法
我搭建WordPress站点的初衷是为了与小程序进行博客同步,小程序关联域名必须是https。在Windows系统下配置了3天的SSL证书之后,还是没有成功,网上的教程也大多是Linux系统下的
相关源码
-
响应式高端家居家具装修类pbootcms模板网站源码家居装修、空间设计企业打造的营销型网站解决方案,基于PbootCMS内核深度开发。采用前沿响应式架构,适配手机端与PC端浏览体验查看源码 -
pbootcms网站模板响应式全屏旅游景区网站源码本模板为风景民宿、旅游景区等企业设计,基于PbootCMS内核开发,具备响应式布局与专业SEO优化功能,助力企业低成本高效获客。以下是核心特点:查看源码 -
(自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码 -
(PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码 -
(自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码 -
(自适应响应式)HTML5简繁双语电子元器件设备制造Pbootcms模板下载本模板为电子科技设备制造、电子元件生产等高科技企业设计,采用PbootCMS内核开发,具备简繁双语切换功能。模板设计充分考虑了电子科技行业的技术展示需求,能够专业呈现各类电子元器件、电路板、智能设备的参数规格和应用方案。查看源码
| 分享笔记 (共有 篇笔记) |

