博客的修修补补

/ 0评 / 1

今天,a1c.cn的域名备案结果下来了。

晚上坐在房间里把博客迁移到我的阿里云服务器,看看速度咋样。

zzz.biz留在香港,安全。

两个域名,两个站点,但是通过同步,争取让它们保持不太大的差别。

站点迁移的过程,遇到一些问题,把它们记录下来,以便以后再遇到类似问题可以查询。

1、对象存储转本地的方法

换到了新服务器上,把所有的媒体文件都做成了本地存储。

原因是为了给网站开启https支持。

七牛云免费空间只能使用http协议。

替换七牛云对象存储的网址很简单,先把七牛云里面存储的内容按文件夹下载到本地并上传至服务器WordPress的/wp-content/uploads文件夹。

下载WPReplace插件,启用,然后在工具里面最后一项打开,输入七牛云地址:http://xxx.***.com第一个/前面的内容,替换为:/wp-content/uploads即可。

2、关于Gravatar头像的问题

/wp-includes/link-template.php的4263行和4265行分别替换原Gravatar地址为:https://sdn.geekzu.org/avatar。

注意4265行输完网址后的%s不能删除掉。

3、关于备案代码的放置

在主题的functions.php文件里面,在第8行左右,把WP_ZH_CN_ICP_NUM附近的内容替换为:

<span><a href="http://www.beian.miit.gov.cn" target="_blank">&nbsp;&nbsp;|&nbsp;某ICP备1234567号-1</a></span>

4、首页日期显示的问题

首页每一篇日志都不显示日期,而是用**天前代替。这样看的时候非常不方便。改代码即可。

打开/wp-content/themes/Adams-master里面的index.php文件,在第27行,找到:

<span class="time"><time datetime="<?php echo get_the_time('c'); ?>" title="<?php echo get_the_time('c'); ?>"
itemprop="datePublished" pubdate><?php the_time('Y-m-d'); ?></time>发布</span>

修改为:

<span class="time"><?php the_time('Y/m/d'); ?></time>发布</span>

5、文章末尾附上发布日期的方法

打开/wp-content/themes/Adams-master/inc里面的content.php文件,在第8行插入到</article>前面如下代码:

<p>
<span style="color:#A9A9A9;"><em>首次发表于  <?php the_date('Y-m-d H:i l'); ?></em> 
</span>
</p>

6、单独页面取消显示发布日期

由于Adams主题的文章和单独页面共用个模板:wp-content/themes/Adams-master/inc里面的content.php,因此可以改动一下:将page.php里面include("inc/content.php");修改为:include("inc/content-page.php");

然后在wp-content/themes/Adams-master/inc里面新建content-page.php文件,把content.php里面不含发布日期代码的全部内容复制进去就可以了。

7、让WP支持发邮件

找回密码、回复评论到对方邮箱都需要用到WP的发邮件功能。我以前以为必须要借助第三方插件才能发邮件,也就没有折腾。今天上网搜索,原来WP自己就能发邮件。

把下面代码放到主题的functions.php文件中,即可调用wordpress系统自带 smtp功能。

//自动邮件发送
function mail_smtp($phpmailer)
{
$phpmailer->isSMTP();
$phpmailer->SMTPAuth = true; // 开启SMTPAuth服务
$phpmailer->Port = 465; // SMTP邮件发送端口,常用端口有:25,安全链接端口:465
$phpmailer->SMTPSecure = 'ssl'; // 是否通过SSL链接,如不是此处删掉ssl,如果是不用改
$phpmailer->Host = 'smtp.abcdefg.cn'; // SMTP服务器地址
$phpmailer->Username = 'aaa@bbb.cc'; // 您的邮件地址
$phpmailer->Password = '123456'; // 你的邮箱登陆密码
$phpmailer->setFrom( "aaa@bbb.cc", "浩瀚星空博主"); // 发件人邮箱和名称
}
add_action('phpmailer_init', 'mail_smtp');

然后在后台-设置-常规设置里,把电子邮件地址填写成和这里Username一致的邮箱地址,这样就成功了!

8、备份插件与错误修复

我用的是BackWPup这一款插件,支持远程备份。

考虑到Amazon S3在中国有不错的访问速度,于是申请了一个Amazon的账号。

输入aceess key保存之后,出现了一行提示:

Warning: is_readable(): open_basedir restriction in effect. File(/home/www/.aws/config) is not within the allowed path(s): (/www/wwwroot/www.hhju.com/:/tmp/) in /www/wwwroot/www.hhju.com/wp-content/plugins/backwpup/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ConfigurationProvider.php on line 232

大概是文件权限的问题。

考虑到影响不会太大,打开ConfigurationProvider.php找到232行,把 !is_readable 替换成了 !@is_readable 问题解决。

做了个备份计划,点击 马上执行,去S3的存储桶里检查一下,OK!

首次发表于 2021-03-09 22:28 星期二

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress