WordPress设置网站副标题需要到后台的设置项里设置,操作起来太繁琐,于是我用php做了个设置网站副标题的接口。这个没什么技术含量,主要是熟悉下php对mysql数据库的基本操作流程。
首先是到数据库里找到网站副标题的字段:
找到之后写出用于修改它的sql语句,如下:
UPDATE wp_options SET option_value = '大好き' WHERE option_name = 'blogdescription'
接下来做一个html文件和一个php文件,用html文件给php文件发送要设置的副标题,php接到请求后执行数据库操作。
功能做好之后,把html传到网站上,并保存成书签。以后想修改修改副标题只要打开这个书签,输入文字就可以了。
下面上代码。(假设php文件的文件名是a.php,放在了网站根目录下)
html文件里内容只有JavaScript代码,用于接收用户输入并发送给php文件,如下:
var myWord=prompt("想把副标题改成什么呢?");
if (!!myWord) {
var xhr=new XMLHttpRequest();
xhr.open("get","/a.php?word="+myWord,false);
xhr.send(null);
if (xhr.status===200 & xhr.responseText==="true") {
alert("执行成功");
}else{
alert("发生了异常,状态码为"+xhr.status+","+xhr.statusText);
}
}
执行效果:
php文件内容如下:
<?php
//允许跨域
header('Access-Control-Allow-Origin: *');
//接收参数
$word = $_GET['word'];
//检测参数(防止有人直接通过网址访问这个php,并传入不合法参数。如果这个php文件的url只有自己知道,可以不检测参数)
if ($word == null) { //举个栗子
die("不允许空内容");
}
//引入WordPress的数据库配置文件
require("wp-config.php");
//连接mysql 服务器;mysql_connect建立的是非持久连接,在脚本结束时即关闭连接
$conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("连接服务器出错:".mysql_error());
//连接WordPress使用的数据库
mysql_select_db(DB_NAME) or die("连接数据库出错:".mysql_error());
//设置传输时的字符编码;前面加上@表示不输出错误信息
@mysql_query('SET NAMES UTF8');
//执行sql语句
$sql="UPDATE wp_options SET option_value = '" . $word . "' WHERE option_name = 'blogdescription'";
//检测执行结果
$que=mysql_query($sql,$conn);
if($que){
echo"true"; //返回一个成功时的标识
}else{
echo "wrong";
}
//关闭mysql连接。非持久连接时此动作不是必须的。
mysql_close();
到这里就完成了。
php里面有个require("wp-config.php"),这是什么意思呢?
因为WordPress的根目录下有个wp-config.php文件,里面储存了网站的数据库信息,并定义成了常量,如下:
所以站点中的其他php文件需要连接数据库时,直接引入wp-config.php就行了,这样就免去了在每个php文件里都要写一遍数据库配置的麻烦。
其实发文时我并没有把html文件传到网上,现在传到七牛图床了,试一下:
Google Chrome 45
Windows 7 x64 Edition
Google Chrome 45
Windows 7 x64 Edition 哇哦,不明觉厉~
Google Chrome 45
Windows 7 x64 Edition 哇哦,好牛逼的样子~!
我了个去,怎么风怒了。