02/16
2017
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文件传到网上,现在传到七牛图床了,试一下:
我了个去,怎么风怒了。