G Suite 不再免费

白嫖了多年的 G Suite,终于也是时候说再见了,G Suite 在 2022/7/1 开始将不再提供免费的服务,现在的免费账户如果需要继续使用必须付费。
平时也就只是用了邮件服务,而且邮件还都是转寄到个人 Gmail,真的没有必要升级服务啊。
尝试搞了 Yandex、Zoho,都不符合自己的要求。感觉在 namesilo 有见过邮件转寄服务,一看还真是,启用,完美符合自己要求。

WordPress 的 block editor 真的难用至极

装上 Classic Editor 保平安

在 Plugin 中使用 WP_PLUGIN_URL 的问题

通常,在 WordPress 的 Plugin 编写中,如果涉及到静态文件的引用,我通常会这样写

echo '<link rel="stylesheet" href="'.WP_PLUGIN_URL.'/myplugin/somecss.css" type="text/css" media="screen">'."\n";

如果你在 General Settings 中的 WordPress Address (URL) 里设置的是一个 HTTP 地址,如 https://bingu.net
而别人用 HTTPS 地址 https://bingu.net 来访问的时候,插件里的静态文件引用仍旧是以 HTTP 地址为基础,就不能很好地载入了。

问题出在 WP_PLUGIN_URL 这里,看看它的定义是怎样的 WP_PLUGIN_URL (WordPress Constant)

define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' );

再来看看 WP_CONTENT_URL 的定义是

define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );

WP_PLUGIN_URL 的基础地址是 get_option( ‘siteurl’ ),也就是 General Settings 中的 WordPress Address (URL) 里设置的地址,这里是一个硬编码的一个地址,设置的是 HTTP 地址,get_option 出来就是 HTTP 地址,不会根据访问的情况自行更替 scheme。

因为浏览器在静态文件链接没有提供 scheme 时,会根据访问地址的 scheme 自行载入相应 scheme 的静态文件。这样解决就很容易了,只要将 WP_PLUGIN_URL 变成一个没有 scheme 的地址就可以了,所以上面的静态文件的引用变成了这样

echo '<link rel="stylesheet" href="'.str_replace(array("http:", "https:"), "", WP_PLUGIN_URL).'/myplugin/somecss.css" type="text/css" media="screen">'."\n";

WordPress 升級中的 500 錯誤解決

搬瓦工的 OpenVZ 方案的 VPS 不能再繼續續費,只能趕緊搬家。
一切完備了,訪問首頁死活給我一個 500 錯誤。
打開 nginx 的錯誤日志,一堆這樣的錯誤

Parse error: syntax error, unexpected ‘new’ (T_NEW) in /var/www/bingu.net/wp-content/plugins/exec-php/exec-php.php on line 80

找了找原因,原來是 PHP7 不再支持用 =& 獲取一個對象的實例,也就是下面這行已經不能這麽寫了,直接把這個插件給刪了,搞定。

$GLOBALS['g_execphp_manager'] =&amp; new ExecPhp_Manager();

ref: PHP 7 and WordPress: How to FIX unexpected ‘new’ (T_NEW) error

Nexus 7 5.1.1

将闲置有段时间的Nexus 7拿出来刷到最新的Android 5.1.1。
Android 5真心漂亮,7寸的握持感比iPad mini好太多。
2012年的Nexus 7在Android 5下还是略卡。

买了VPN,主要用来使用Google家的app好了。 😆