修复WordPress 4.9.6的一点小问题

昨天发现WordPress 4.9.6可用了,但是比较忙,今天放假在家,随便看看自己的博客,顺便更新了一下,更新的内容对我来说似乎无关痛痒,但是发现了评论框上的一点小问题。

文章的评论框多了一个checkbox,checkbox的label上的文字是Save my name, email, and website in this browser for the next time I comment.。想了想应该就是WordPress更新添加的功能吧,但是为什么是英文的呢,检查了一下wp-content/languages/zh_CN.po文件,发现这一行文字的翻译还没加上去,那就手动处理一下吧:

下载一个软件,名字叫做Poedit(这个软件也是大名鼎鼎的游戏汉化工具,用起来非常的方便);然后将wp-content/languages/zh_CN.po这个文件下载到本地后,用文本编辑器打开,在文件的末尾增加一行:

msgid ""
"Save my name, email, and website in this browser for the next time I comment."
msgstr "在当前浏览器保留我的昵称、邮箱和网站以便下次评论。"

保存后,用Poedit打开,然后直接点击菜单上的保存,这时你就可以看到这个.po文件的目录里多了一个.mo的文件,把这两个文件一并上传到服务器的wp-content/languages/目录替换掉旧的翻译文件,翻译这样就处理好了。

但是这行文字和前面的checkbox不在一行,看起来不是很美观,因为我的主题是用的TwentySixteen且经过自己的修改,虽然早上也一起更新了主题,但是对我当前的主题是没效果的,查找了一下,于是可以把那边的css代码复制到自己的模板中,在自己的style.css样式文件的末尾,添加这段代码即可恢复正常:

p.comment-form-cookies-consent label {
    display: inline;
    font-family: Merriweather, Georgia, serif;
    letter-spacing: 0;
    text-transform: none;
}

这样就算完成了,具体效果看本篇文章底部的评论框。

今天修复了极验验证的wordpress插件

最近博客上的垃圾评论多起来了,感觉大部分都是毛子或者中东的黑客搞的鬼,于是想到给文章的评论框加一个验证码啥的,自己去写一个简单的验证码肯定是没问题的,但是想到极验验证的这种拖动滑块验证的效果体验更好,于是就在插件中心搜到了他们的插件,但是安装完后却不能生效。

把插件down了下来,结合他们官网的文档,发现插件确实存在一点问题:接口还是用的老的。于是对照着文档和他们提供的demo改了改,结果也跑起来了。

已经在极验验证官网联系了客服,他们说插件确实很久没更新了,现在已经在排期中。如果你需要现在就要用到该插件的话,我已经把修改过的插件代码传到Github上去了:

https://github.com/Jaggle/wp-geetest-3.0

wordpress博客链接修改小记

作为一个有代码格式强迫症的人最受不了的就是看着代码乱七八糟,链接无逼的长。于是我就自己修改了wordpress的链接格式。

作为一个有代码格式强迫症的人最受不了的就是看着代码乱七八糟,链接无逼的长。于是我就自己修改了wordpress的链接格式。

首先修改图片上传的链接,默认的是/wp-content/uploads这个文件夹,修改此链接的方法是在根目录的wp-config.php这个文件夹中添加代码

define( ‘UPLOADS’, ‘img’ );

 

 

这段代码表示将默认上传图片的路径设为根目录下的img文件夹(名字自定),比我我的网站就是在https://static.yeskn.com/img下,这里需要特别注意的是要先自己手动创建文件夹img,不然能上传上去,但是不能访问,原因未知。

 

然后修改文章中的已经上传的图片的链接,在phpmyadmin的SQL中执行如下语句:

UPDATE wp_posts SET post_content = REPLACE( post_content,’原来的链接’, ‘新的链接’) ;

比如:

UPDATE wp_posts SET post_content = REPLACE ( post_content, ‘https://blog.yeskn.com/wp-content/uploads/‘ , ‘https://static.yeskn.com/img/‘ ) ;

 

这条语句还能将图片双传到别的服务器,只要修改后面的链接即可;

 

然后修改style.css的路径,我现在把style.css移到了根目录的uploads,如果直接移然后在header.php中改css的标签的话,虽然可以访问,但是你在后台会有“你当前使用”就会有提示你主题不完整,我再点击“外观-主题”后就说你的模板以破坏然后当前的模板就被重置成默认的了,于是我知道了,需要修改 bloginfo(‘stylesheet_url’)的值,

然后我在本地用notepad++进行搜索发现bloginfo(‘stylesheet_url’)赋值是在/wp-includes/general-template.php的441行左右,$output =get_stylesheet_uri() ,我将其改成

$output = ‘http://’;//get_stylesheet_uri()

这样网站就可以使用你自己的模板了。

然后你也可以将favicon.ico图标也换到uploads目录,并且记得修改header里的favicon.icod的代码,即是下面的

 

<link rel="shortcut icon" href="/uploads/favicon.ico" />

 

这样在用chrome查看网站源代码的时候就看不到wp-content类似的链接了。

update:

发现还有一个问题就是在后台修改style.css的时候那个css还是在wp-content/themes主题目录下的,这个问题我之后再进行跟进。

WordPress如何更换域名

修改数据库配置文件,如果你在同一主机同一空间上更改域名,这步可以省掉,如果数据库不同,还得要打开wp-config.php将数据库配置正确才可以正常访问新域名

原始地址:http://jingyan.baidu.com/article/fdffd1f8e73607f3e98ca137.html

1、修改数据库配置文件,如果你在同一主机同一空间上更改域名,这步可以省掉,如果数据库不同,还得要打开wp-config.php将数据库配置正确才可以正常访问新域名。

 

2、更改博客的安装地址和博客地址,首先用phpmyadmin打开你的数据库,然后找到wp-options这个数据表,找到第一条记录也就是siteurl这条,还有第39条home,这两条将地址改成你更换后的最域名即可。只有完成这一步后,才可以顺利进入后台,否则即使你输入密码,也会自动跳转到原来的老域名。PHP My管理中选择数据库,—->点击 SQL 在输入栏中输入如下代码:
UPDATE wp_options SET option_value = replace( option_value, ‘http://老域名’, ’http://新域名’) WHERE option_name = ‘home’ OR option_name =’siteurl’ ;

 

change-domain-2

 

 

change-domain

 

 

3、修改文章内部所有的链接为新域名,相信大家在以前发表的文章中一定加了不少内链吧,域名更换了,老的内链也就没有意义了。此时得要将文章内链的旧域名修改为新域名。如果从后台文章编辑里一个一个找那是不现实的,方法有一个,通用phpmyadmin进入你所在的数据库,执行以下语句就可以把文章内的所有内链旧域名批量改为新域名:

 

UPDATE wp_posts SET post_content = replace(post_content, ‘http://老域名’, ‘http://新域名’);
UPDATE wp_posts SET guid = replace( guid, ‘http://老域名’ , ’http://新域名’ ) ;

 

4、好了进入后台用以前的账号密码登陆就好了。

wordpress模板开发手册

写这篇文章只是为了记录自己写一个模板的经验,并且分享给来我博客的朋友,本博文将会不断更新。

 

所需文件:

1、style.css:必须要有本文件,调用的方式为


,用上面的这段话就加到标签可以调用css文件了,以后写css就都写在这个文件,一般不适用绝对路径或者相对路径来调用css文件。

2、index.php:必须有,规定模板的主页。

3、header.php:非必须,主要写从网页顶部的代码,包括<head>以及博客顶部的部分,然后在index.php中调用header.php文件。

4、functions.php:函数文件,所有的php函数的集结地。