(转自张戈博客)十月底,张戈在博客分享了《WordPress给文章添加百度是否已收录查询和显示功能(数据库优化版)》一文,反响不错!而且还被站长之家转载了,无奈多了个nofollow,让我这篇原创文章大半个月都没被收录,()。。。 今天,看到博客一大片惨不忍睹的〔百度未收录〕红色字样时,突然想到其实这个功能也不需要对数据库动刀啊!因为很多站长可不敢随便操作数据库呢!WordPress不是还有自定义栏目嘛??而且,自定义栏目还可以在后台随时修改键值呢!因为百度偶尔会将已收录的文章K掉,最近张戈博客实在遭遇太多这种早上收录,晚上被K的惨况!如果被意外K掉了,我们还可以手动修改收录结果,让展示结果更精准! 还是那句话,只要有想法,技术都不是问题!小小的研究了一下WordPress的自定义栏目,不到半小时,我就将上次分享的百度已收录的查询和显示代码改成了自定义栏目改进版(postmeta)! 一、效果预览 二、WordPress插件版 刚好昨晚开发了一个WordPress对话框插件,趁热打铁,索性也将这个功能打包成了WordPress插件,方便小白站长们使用! 目前该插件已通过WordPress官方审核,插件地址: 插件地址:https:wordpress。orgpluginswpbaidurecord 下载地址:https:downloads。wordpress。orgpluginwpbaidurecord。zip 如果好用,希望你能抽空前往给个好评,支持下非常感谢! 安装方法: 方法、进入后台插件在线安装界面,搜索wpbaidurecord并按照提示安装启用即可【推荐】; 方法、下载文件并解压,将wpbaidurecord文件夹上传到wpcontentplugins目录,在插件后台启用即可; 方法、进入后台插件安装界面,选择上传安装插件,并选择下载得到的zip压缩包即可; 插件设置: 、插件激活后,点击〔设置〕按钮进入插件设置界面,插件默认设置如下: 默认是在文章内容的最后输出百度收录结果,而且是公开显示! 、如果你想自定义输出位置,那么请勾选自定义结果输出位置,然后按照提示操作: 具体做法:前往WordPress主题目录,找到文章模板(一般是single。php),然后在想要显示的位置添加如下函数即可: 比如,张戈博客是将以上函数添加到了文章模板的副标题位置: 三、纯代码部署 理论上,任何WordPress插件都能采用纯代码来替代,所以继续分享一下纯代码部署的方法。不过要特别说明的是,代码版和插件版不能同时存在,否则会产生冲突! 、编辑WordPress主题目录下的functions。php文件,在最后一个?标签之前,添加如下代码并保存: functionbaiducheck(url,postid){ getpostmeta(postid,,true); if(baidurecord!1){ http:www。baidu。coms?。 curlcurlinit(); curlsetopt(curl,CURLOPTURL,url); curlsetopt(curl,CURLOPTRETURNTRANSFER,1); rscurlexec(curl); curlclose(curl); if(!strpos(rs,没有找到该URL。您可以直接访问)!strpos(rs,很抱歉,没有找到与)){ updatepostmeta(postid,,1)addpostmeta(postid,,1,true); return1; }else{ return0; } }else{ return1; } } functionbaidurecord(){ postid(nullpostid)?gettheID(): if(baiducheck(getpermalink(postid),postid)1){ 百度已收录; }else{ 百度未收录; } } 、编辑WordPress主题下的文章模板(一般是single。php),在想要显示收录结果的位置添加如下代码并保存 和上文插件的安装方法一致,可进一步参考操作。 四、附加说明 这个功能实际上已有人开发了插件或分享过类似代码,我只是在原来的基础上做了一些改进,具体如下: 原版特性: 1。原版功能:通过curl在百度查询本页url并获取结果,如果存在就输出已收录,否则就是未收录,并且可点击提交url 2。原版缺点:每次打开页面都需要在百度查询一遍,严重拖慢速度!当然可以利用缓存插件解决此问题。 改进特性: i。通过curl在百度查询url收录结果,如果已收录就将结果写入到文章的postmeta记录中。待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询,从而解决了curl实时查询拖慢速度的问题! ii。若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改! iii。管理员可以随时在后台文章编辑界面中的自定义栏目来修改是否已收录的结果,自定义名称为baidurecord,1为已收录,0为未收录。 改进之后,如果是已收录的文章,将不会重复查询,从而解决了原版代码严重拖慢网站速度的缺憾! 上次分享的方法是将结果写入到数据库,而且部署的时候需要手动操作数据库,并添加字段,相对比较麻烦也很容易让没有经验的小白站长产生畏惧感。此次改进,就弥补了这个不足,而且额外制作了插件版,降低了这个功能的添加门槛,希望大家喜欢! 推荐另一个方法 纯代码给文章添加管理员可见的百度是否已收录展示和查询功能WordPress教程(本博客自用)