cron

SAE定时备份数据库

WordPress迁移到SAE之后,以前的backwpup插件就不能直接用了,但是又需要备份,所以就利用SAE的几个服务来实现这个功能。 1.deferred job SAE自带的数据库导入、导出服务,可以直接将数据库导出到storage下。 2.cron SAE的计划任务,根据设置定时访问设定的页面,来触发我们的备份行为。 下面是操作步骤: 1.新建一个叫back的storage,用来存放备份文件。 2.在网站根目录新建一个文件back.php,内容如下 addTask("export","mysql","back","$date.sql.zip","数据库名","",""); ?> 其中addtask的第3个参数就是刚刚新建的storage名称 第4个参数是要保存的文件名,

  • Leo Chen
    Leo Chen
1 min read
SAE

WordPress移植SAE之禁用更新

SAE平台是禁用本地IO的,所以是不支持WordPress的自动更新,包括内核、插件和主题的更新。 但是WordPress默认是会自动检查更新,这样会消耗应用资源(流量和cputime),造成云豆的浪费,所以要把检查更新的功能去掉。 但是这样又有一个问题,万一有个插件有BUG需要更新,没有了自动检查更新就无法知道某个插件是否有更新,所以还要保留手动检查更新的功能。 需要修改的文件在wp-include/update.php 在这个文件的末尾,把所有的add_action注释掉,然后添加以下代码 add_action( 'load-update-core.php', 'wp_version_check' ); add_action( 'load-update-core.php', 'wp_update_

  • Leo Chen
    Leo Chen
1 min read
SAE

WordPress3.4简单移植至SAE

SAE应用仓库里的WordPress版本还是3.2.1的,界面不太爽,就想自己移植下最新版的,目前已经在SAE上运行了,总体还不错。 整体上来说WordPress移植SAE还是很简单的,不需要改太多代码,因为基本没有文件读写,就一个文件上传需要修改。 首先第一个改的是配置文件wp-config.php,这里我是直接复制官方应用仓库的WP配置文件 define('DB_NAME', SAE_MYSQL_DB); define('DB_USER', SAE_MYSQL_USER); define('DB_PASSWORD', SAE_MYSQL_PASS); define(

  • Leo Chen
    Leo Chen
2 min read
fsockopen

fsockopen、pfsockopen函数被禁用导致WordPress无法SMTP发信解决方案

起因: 前不久本站新换了一台服务器,但是发现在发信的时候总是提示找不到SMTP服务器,问了下主机商,说是服务器禁用了fsockopen和pfsockopen两个函数导致的。 解决思路: 很简单,找到替代函数或者自己写一个函数来实现。 解决方案1: 使用函数stream_socket_client()。找到wp-include/class-smtp.php的第128行(3.31版本的wordpress),将原来的代码 $this->smtp_conn = @fsockopen($host, // the host of the server $port, // the port to

  • Leo Chen
    Leo Chen
1 min read
jQuery

WordPress插件编写技巧——避免jQuery冲突

jQuery作为目前最流行的JS库,许多插件都会用到,但是如果同时启用了这些插件,要么是多次加载jQuery导致页面速度变慢,要么引起冲突导致代码失效。 所以就写了一小段代码来避免jQuery冲突。 if(typeof(jQuery) == "undefined") { document.write(''); } 首先判断是否已经定义过jQuery,如果未定义,则动态加载jQuery库。 但是这个代码是异步执行的,也就是说,在加载jQuery库的同时,主页面的脚本继续运行,如果用以上的方法,那下面的代码将得不到预期的效果。 参考了SyntaxHighlighter的动态加载代码之后,我修改的代码如下: if(typeof(jQuery) == "undefined") { var

  • Leo Chen
    Leo Chen
1 min read
hp

WordPress提示Allowed memory size of 33554432 bytes exhausted错误解决方案

空间换了台主机,结果进后台的时候发现http500错误,于是在wp-admin/index.php的文件顶部加入显错代码: if( !ini_get('display_errors') ) { ini_set('display_errors', 'On'); } error_reporting(E_ALL); 更新至空间之后刷新,提示Allowed memory size of 33554432 bytes exhausted,分配的内存不足…… 解决方案是: 打开wp-config.php文件并在文件中添加以下一行代码即可。 define('WP_

  • Leo Chen
    Leo Chen
1 min read
Autoloader

WordPress语法高亮增强插件更新至2.3.0版本

Wordpress语法高亮增强插件(SyntaxHighlighter++)今日更新至2.3.0版本,主要改动如下: 1.将语法高亮内核回滚至2.0版本。 2.保留了3.0版本的Autoload方式动态加载js库,减少加载的js文件数量,加快页面访问速度。 3.合并了CSS文件,减少页面加载时间。 Wordpress官方下载地址:http://wordpress.org/extend/plugins/syntax-highlighter-with-add-button-in-editor/ 本站下载:语法高亮增强插件2.3.0

  • Leo Chen
    Leo Chen
1 min read
WordPress

WordPress插件编写之添加设置选项

编写一款WordPress插件很有可能要给插件增加一个设置页面,今天就以“语法高亮增强插件”为例来介绍下WordPress插件的设置代码如何编写。 1.确定需要用户配置的各个参数及其默认值。 function highlighter_activate() { $options['highlighter_style'] = "Default"; $options['highlighter_tagName'] = "pre"; $options['highlighter_autolinks'] = "true"; $options['highlighter_collapse'] = "false"

  • Leo Chen
    Leo Chen
2 min read
Autoloader

Wordpress语法高亮增强插件更新至2.2.0版本

Wordpress语法高亮增强插件(syntax-highlighter++)今晚更新至2.2.0版本,主要改动如下: 1.将语法高亮内核升级至3.0.83版本。 2.使用了Autoload方式动态加载js库,减少加载的js文件数量,加快页面访问速度。 3.在后台增加了设置页面,可以自定义高亮风格、起始行数等选项。 4.增加国际化支持,根据用户网站语言自动修改插件语言。目前支持中文和英文。 Wordpress官方下载地址:http://wordpress.org/extend/plugins/syntax-highlighter-with-add-button-in-editor/

  • Leo Chen
    Leo Chen
1 min read
I18n

wordpress插件国际化(I18n)

之前写的WP插件fancy-captcha,由于网站的访客需要看提示才能把正确的图片拖到圆圈内,所以需要根据网站的具体情况输出对应语言的提示信息,折腾了一下午终于搞定。下面就以fancy-captcha为例讲解如何国际化wordpress插件。 首先将所有需要国际化的文字修改为英文,然后作为参数传给__()函数,例如 您必须启用 javascript 才能在这儿看到验证码! 修改为 注意,__()函数要有两个参数,第一个参数是英文版的内容,第二个参数是你自己定义的一个名字,不一定要是插件名,但是不可以有下划线_。 然后增加一个函数 function captcha_init() { $plugin_dir = dirname(plugin_basename(FILE)); load_plugin_textdomain( 'fancy-captcha',

  • Leo Chen
    Leo Chen
2 min read
WordPress

删除wordpress无用的历史修订版本

在wordpress博客中编辑一篇文章时,系统会保存多个修订的副本或草稿,修改的时候也会保存一个先前版本。这样虽然备份多了,可以方便的还原到之前的修订版本。但是过多的修订记录会增加数据库的负担,随着时间的推移,当你博客上的文章条目上千条时,你的数据库就会变得非常的庞大。 于是今天就搜索了下,很多人都推荐使用插件来解决,但是我觉得这种插件使用频率并不高,性价比不高,所以找到了一个新办法: 1、禁用 WordPress 文章修订历史功能: 打开 WordPress 根目录下的 wp-config.php 文件,添加如下语句即可: define('WP_POST_REVISIONS', false); 2、删除 WordPress

  • Leo Chen
    Leo Chen
1 min read
SVN

将自己开发的插件提交到wordpress官方

1.到http://wordpress.org/support/register.php页面注册一个帐户。 2.登录该帐户,并访问http://wordpress.org/extend/plugins/add/ 3.填写该页的表单并提交。注意:Plugin Name那栏不能填中文,不然上传插件的时候会出错。 4.等 5.当你的插件申请审核通过的时候,邮箱会收到一封标题为[WordPress.org Plugins] Request Approved: XXXX的邮件邮件,这就说明你可以上传你的插件到WP官网了。

  • Leo Chen
    Leo Chen
2 min read