ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:47.49KB ,
资源ID:7211961      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7211961.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(WordPress代码及分析-从主题开始.docx)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

WordPress代码及分析-从主题开始.docx

1、WordPress代码和分析-从主题开始 文件/wp-admin/theme-install.php 1、wp_die(__())函数分析 1 2 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格式的消息提示。这个

2、方法是用来代替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中,“__()”函数是这样定义的: 1 2 3 function 

3、 $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.php 1 2 3

4、4 5 6 7 8 9 10 11 12 13 14 15 function wp_reset_vars( $vars ) {     for ( $i=0; $i

5、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 $$va

6、r这个定义比较费解。我写了个简单的测试代码搞明白了是什么意思: 1 2 3 $var="abc"; $$var="12"; echo($$abc); 1 这段代码输出的结果就是12。 1 WordPress代码非常复杂,下次继续分析wp_enqueue_style和wp_enqueue_script的作用 玩转WordPress配置文件 WordPress用户都知道,wp-config.php 文件是WordPress数据库的关键。数据库名、用户名、密码、位置都是在此设置。 但是很多用户并不知道通过wp-config.php文件可以更改很多设置,提

7、高WordPress站点的功能、性能、安全度。在这里,这里跟大家分享下使用wp-config.php的技巧。 数据库信息 WordPress链接数据库需设定以下四个值: define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost'); 在创建数据库前就需准备好数据库名称、用户名、密码,最后一个DB_HOST值可能比较难获得,最常见的是直接用“lo

8、calhost”, 甚至你可以给数据库服务器指定一个备用端口。例如: define('DB_HOST', 'localhost:1234'); define('DB_HOST', 'mysql.domain.tld:1234'); 还有一种更好的方法就是自动检测数据库服务器值: define('DB_HOST', $_ENV{DATABASE_SERVER}); 如果上面所有方法都行不通,求助你的服务器提供商。 数据库字符集和整理(collation) 截至WordPress 2.2版,你可以给MySQL数据库指定字符集。一般来说,不需要修改默认字符集UTF-8,因为它支持所有的

9、语言。注意,如果wp-config.php文件里,这一字符集已经存在,你只能使用此字符集。下面是默认的设置,也是我推荐大家使用的设置: define('DB_CHARSET', 'utf8'); WordPress 2.2 版本还可以指定collation(校勘/整理),对你的数据库字符集排序。Collation的设置通常由MySQL依据字符集自动处理的,在默认设置里的collation值保留空白就可以。默认的设置: define('DB_COLLATE', ''); 安全密匙 截至WordPress 2.7后有四个安全密匙来加密cookies。这些密匙只需让它默默无闻地工作就好,并

10、尽可能随意和复杂(你无需记住)。生成这些密匙的最简单方法就是通过WordPress官方密匙服务来自动生成。只要点击这个服务,复制并粘贴生成的结果到wp-config.php 文件中即可。注意,这些密匙可随时更改,这样一来,用户之前的cookies会被清除需要重新登陆你的网站。 define('AUTH_KEY', ':dr+%/5V4sAUG-gg%aS*v;&xGhd%{YV)p:Qi?jXLq,

11、ED_IN_KEY', 'S~AACm4h1;T^\"qW3_8Zv!Ji=y|)~5i63JI |Al[(6L9v\"6C89NH?ui{*3\\(t09mumL/fF'); 数据库前缀 数据库前缀的设置对提高你的站点安全以及在同一数据库中安装多个WordPress站点都非常有用,通过改变默认值“wp_” 为随机独一的值,可减轻站点受攻击的可能性,总体上提高你的网站安全性。下面是默认值: $table_prefix = 'wp_'; 有很多攻击者就是对准这些默认前缀的数据库进行攻击。稍微修改为

12、如: “x777_”之类的可避免此类攻击。 你还可以使用此设置实现在一个数据库中安装多个WordPress站点,只要给每一个WordPress指定一个单独的数据库前缀即可: $table_prefix = 'wp1_'; // 第一个博客 $table_prefix = 'wp2_'; // 第二个博客 $table_prefix = 'wp3_'; // 第三个博客 语言设置 WordPress可指定一个语言翻译文件及其相关的目录。语言翻译文件属于 “.mo” 这一类别,其默认位置是 (如果没有明确指定的路径) wp-content/languages (第一)和wp-inclu

13、des/languages (第二)。下面是默认设置: define('WPLANG', ''); define('LANGDIR', ''); 目录设置 技术上来说,你不太需要关注它。默认的wp-config.php 文件里有几行指定绝对路径并且包含设置文件。我这里提出来,只是为了使这篇文章更完整些: /** WordPress absolute path to the Wordpress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** Sets

14、up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php'); 博客地址和网站地址 默认的p-config.php中不包含这两个定义,不过为了改善WordPress的性能,还是需要添加的。这两个设置是在2.2版本引进来的。在wp-config.php 中添加者两个定义可降低数据库查询数,提高网站的运行。这些设置需与你的WordPress Admin中的设置一致。下面是一个例子 (所有URL地址不以斜线结尾): define('WP_HOME', ''); define('WP_SI

15、TEURL', ''); 可以使用全局变量动态地设置这些值: define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/path/to/wordpress'); define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/path/to/wordpress'); 模板路径和样式表路径 设定好博客地址和网站地址后,你还可以通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。下面是默认的值: define('TEMPLATEPATH', get_template_directo

16、ry()); define('STYLESHEETPATH', get_stylesheet_directory()); 尽管数据库查询还存在,但我们可以减少多余的查询: define('TEMPLATEPATH', '/absolute/path/to/wp-content/themes/active-theme'); define('STYLESHEETPATH', '/absolute/path/to/wp-content/themes/active-theme'); 禁用缓存和缓存有效期 这两个都是针对旧版本的WordPress,还在使用默认的基于对象的缓存机制。第一个选项

17、是启用或禁用缓存。第二个定义让你指定缓存的到期时间。 启用缓存 define('WP_CACHE', true); // 启用缓存 define('ENABLE_CACHE', true); // 启用缓存 define('CACHE_EXPIRATION_TIME', 3600); // 单位秒 禁用缓存 define('WP_CACHE', false); //禁用缓存 define('DISABLE_CACHE', true); // 禁用缓存 指定cookies域 会由于很多原因你需要给站点指定cookies域。比较常见的就是阻止子域名上请求静态内容的cookies不

18、必要的传输。这种情况下,你就可以使用此定义告知WordPress只向非静态域发送cookies,这将会大大提高网站的性能。下面是设置各种cookies路径和域的信息: define('COOKIE_DOMAIN', ''); // 别漏了前面的'.'。 define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home').'/')); define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl').

19、'/')); define('PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL)); define('ADMIN_COOKIE_PATH', SITECOOKIEPATH.'wp-admin'); 覆盖文件权限 如果你的虚拟主机默认文件权限非常严格,在WordPress配置文件里添加这些定义就可以解决这个问题。注意,数值不需要用引号引起来。下面是例子: define('FS_CHMOD_FILE', 0755); define('FS_CHMOD_DIR', 0755); 查看所有已

20、定义的常量 需要查看所有已定义的常量吗?用下面的PHP函数就会得到一个所有当前一定义常数的数组: print_r(@get_defined_constants()); 自定义用户和usermeta 表 你也可以通过下面的定义自定义用户和usermeta表: define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta'); FTP/SSH常量 这类定义是用于帮助用户定位和实现FTP/SSH连接。下面是例子: d

21、efine('FS_METHOD', 'ftpext'); // 文件系统的方式,包括: "direct"、"ssh"、"ftpext"和"ftpsockets" define('FTP_BASE', '/path/to/wordpress/'); // 安装根目录的绝对路径 define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // 到"wp-content" 目录的绝对路径 define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); //

22、到"wp-plugins" 目录的绝对路径 define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // 到SSH公匙的绝对路径 define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); //到SSH密匙的绝对路径 define('FTP_USER', 'username'); // FTP 或SSH用户名 define('FTP_PASS', 'password'); // FTP用户密码 define('FTP_HOST', 'ftp.domain.tld:21'); //主机

23、名:你的SSH/FTP服务器端口 移动wp-content 目录 从2.6版本开始,你可以修改wp-content目录的位置。这么做有几个理由,包括可提高网站的安全性,以及便于FTP更新。下面是例子: // 当前目录的完全本地路径(结尾不包括斜杠) define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'].'/path/wp-content'); // 当前目录的完整URL(结尾不包括斜杠) define('WP_CONTENT_URL', 'http://domain.tld/path/wp-content'); 你也可以另外给wp-

24、content 目录指定一个自定义路径。可以解决一些插件的兼容性问题: //当前目录的完全本地路径(结尾不包括斜杠) define('WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'].'/path/wp-content/plugins'); //当前目录的完整URL(结尾不包括斜杠) define('WP_PLUGIN_URL', 'http://domain.tld/path/wp-content/plugins'); 日志修订版的处理 Worepress最新版本提供了一个发布后修改系统,用户可保存不同的博客版本,甚至,如果有需要的话,还可以恢复

25、到先前保存的博客版本。不管你喜欢还是不喜欢这个功能,下面的设置可能都对你有帮助。 限制保存博客版本的数量 define('WP_POST_REVISIONS', 3); // 任意整数,不过不要太夸张。 禁用修订版功能 define('WP_POST_REVISIONS', false); 指定自动保存间隔 跟发布版本功能类似,WordPress其实使用了自动保存功能。默认情况下,WordPress每一分钟自动保存你的作品,不过你完全可以根据需要改变这个数值。不过也注意不要太夸张,以免破坏了你的服务器。 define('AUTOSAVE_INTERVAL', 160); // 单

26、位秒 调试WordPress 自从2.3.1版本以来,有一些错误和警告提示帮助用户调试网站。截止2.5版本, 报错等级提高到E_ALL并有激活对一些函数的警告功能。默认(即,没有在wp-config.php文件中指定任何定义),错误报告被禁用。 define('WP_DEBUG', true); // 启用调试模式 define('WP_DEBUG', false); // 禁用调试模式(默认) 错误日志配置 下面是启用WordPress站点错误日志的一种简单方法。创建一个名为“php_error.log”的文件,使其对服务器可写,并将其放置在你选择的目录下。接着在下面代码中第三行

27、编辑路径,并加入wp-config.php 中: @ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log'); 增加PHP内存 如果你收到错误提示“允许的内存xxx字节已用尽” ,这个设置就对你有帮助了。截至WordPress的2.5版,WP_MEMORY_LIMIT定义,你可以指定PHP使用的最大内存。默认情况下,最大PHP内存是32兆,因此只有要求大于32兆是菜需要更改此设置。注意,有些虚拟主机

28、禁止你提高PHP 内存,所以你得请求他们帮忙。下面是例子: define('WP_MEMORY_LIMIT', '64M'); define('WP_MEMORY_LIMIT', '96M'); define('WP_MEMORY_LIMIT', '128M'); 保存并显示数据库查询以供分析 这个技术可实现保存并显示数据库查询的信息以备后面分析。这个过程保存了每一次查询、相关的函数以及总的执行时间。这些信息都保存为一个数组的形式,并可显示在任何模板页上。不过,首先得在你的wp-config.php 文件添加下面的指令: define('SAVEQUERIES', true);

29、然后,在主题的footer上加上下面的代码: // 只对admin显示查询数组 if (current_user_can('level_10')) { global $wpdb; echo "

";
print_r($wpdb->queries);
echo "
"; } 下面是此函数的单行版本: "; print_r($wpdb->queries); echo ""; } ?> 限制代理访问 WordPres

30、s 2.8及以上版本,可用配置文件定义一些常量,包括封锁、允许、过滤从一个代理服务器访问特定主机。例如,如果你的WordPress站点是联网的, 你需要阻止访问任何外部主机,只允许本地主机访问,使用下面第一个定义。如果你允许特定主机访问,用逗号分隔主机名称即可,像下面第三个定义一样。 注意,请允许api.wordpress.org访问,确保一些核心文件和插件能起到恰当的作用。 define('WP_HTTP_BLOCK_EXTERNAL', true); // 阻止外部请求 define('WP_HTTP_BLOCK_EXTERNAL', false); // 允许外部请求 define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org'); // 白名单主机 * 版权声明:作者WordPress啦! 转载请注明出处。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服