您现在的位置是:首页 > 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文章的实现方法
通过调用 wp-load.php 文件获取wordpress主要功能的。wp-load.php加载了Wordpress本身和它所有的程序开发接口(API),装载后就可以在自己的程序中调用wordpress的函数。
docker环境安装WordPress的方法
docker环境安装WordPress:打开命令行, 复制并执行,执行命令:执行过程中的代码如下:解释一下上面的代码:使用docker命令创建一个mariadb数据库. 并指定密码.
Wordpress更改端口后访问自动跳到老端口的解决方法
刚开始首次安装wordpress程序时, nginx配置的是8081端口.在启动nginx和php服务后, 访问 http:// .example.com:8081/wp-admin 开始逐步安装,
Wordpress网站怎么配置多语言
wordpress是大家常用到的一个cms系统,其中为了进行二次开发,做企业网站,难免会用到多语言,下面就来给大家介绍下wordpress如何配置多语言。
相关源码
-
(自适应响应式)装修装潢设计公司网站源码下载本模板为装修设计企业打造,采用PbootCMS内核开发,整体设计突出空间美学与功能性结合。首页采用大图轮播展示工程案例,服务项目模块支持三维效果展示,呈现装修设计企业的专业形象与技术实力。查看源码 -
WordPress个人博客主题 - wp-Concise-v1.0免费下载wp-Concise-v1.0是一款专为个人博客设计的简约风格主题,采用全宽排版设计理念,注重内容呈现效果。该模板适用于个人随笔、技术分享、生活记录等博客场景,帮助用户打造专业的内容展示空间。查看源码 -
(自适应)行业协会工会机构单位pbootcms网站源码本模板基于PbootCMS内核开发,为行业协会、工会组织及机构单位量身打造。采用响应式布局设计,可自动适配手机、平板等移动设备,数据实时同步更新。模板包含行业资讯查看源码 -
(自适应响应式)供应链进出口服务pbootcms企业网站源码为供应链管理、进出口服务类企业设计,特别适合展示物流网络、贸易服务和供应链解决方案。采用响应式技术,确保在各类设备上都能呈现企业服务内容。查看源码 -
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
(PC+WAP)铝合金门窗定制pbootcms网站模板源码为铝合金门窗、定制门窗企业打造的高性能网站模板,基于PbootCMS开源内核开发,采用HTML5自适应架构,PC与手机端数据实时同步,覆盖全终端用户交互场景。查看源码
| 分享笔记 (共有 篇笔记) |

