Saber 酱的抱枕

Fly me to the moon

02/16
2017
学习

用PHP做一个设置网站副标题的接口

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

WordPress设置网站副标题需要到后台的设置项里设置,操作起来太繁琐,于是我用php做了个设置网站副标题的接口。这个没什么技术含量,主要是熟悉下php对mysql数据库的基本操作流程。

首先是到数据库里找到网站副标题的字段:

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja 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做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

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做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

所以站点中的其他php文件需要连接数据库时,直接引入wp-config.php就行了,这样就免去了在每个php文件里都要写一遍数据库配置的麻烦。


其实发文时我并没有把html文件传到网上,现在传到七牛图床了,试一下:

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

用PHP做一个设置网站副标题的接口