如何实现WordPress自动检查文章是否被百度收录

来源:互联网 发布:java荣誉勋章神兵天降 编辑:程序博客网 时间:2024/06/06 08:40

  

  今天有读者朋友问我,我的博客文章页面上那个显示“百度已收录”的功能是怎么实现的(具体效果见下图),一两句说也说不清楚,我就准备写个教程来给大家分享一下,希望可以帮助到有需要的朋友。

  如标题所说,今天我给大家分享的是免插件实现WordPress自动检查文章是否被百度收录,如果收录了就显示“已经收录”,如果没有收录就显示为“百度未收录”,点击就能直接在百度站长平台提交当前页面的URL了,方便蜘蛛发现新文章,从而加快文章的收录速度。

  既然是免插件,当然也有可以通过插件形式实现的方法,我之前用的一款同样功能的插件叫baidu-accept(点击可下载该插件),但是这个插件有个问题就是只有管理员才能看到文章是否被收录,对于读者来说是看不到这个效果存在的(所有直到今天才有读者问我这个功能是怎么实现的)。页面有了这个功能,对有些读者来说可能比较稀奇了,就会好奇去点一下,结果要么能多给我在百度带来几个正常的点击,要么会帮我在百度站长平台提交一下未收录的文章(呵呵,当然这只是我一厢情愿啦!)

  直到前两天,认识了一位叫张戈的做Linux运维的朋友,他非常厉害,能独立开发一些WordPress插件,都是比较实用的。其中有一款插件叫WP-Baidu-Record(点击可以下载该插件)的插件,功能比baidu-accept要强大不少,安装后就是现在这种功能了。但是有一个奇怪的问题,就是跟我的博客不兼容,安装后文章页面全部都成了500服务器错误了!这可是个麻烦事了!然后我抱着试一试的心态,直接找到源代码,贴到了模板函数文件functions.php文件里,然后竟然成功了!下面来说说具体操作步骤:

  第一步:进入Wordpress后台,点击外观,然后点编辑,在右边选择“模板函数”functions.php文件,在最后一个?>标签之前,添加如下代码并保存,然后进入下一步,

  function baidu_check($url){

  global $wpdb;

  $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;

  $baidu_record = get_post_meta($post_id,'baidu_record',true);

  if( $baidu_record != 1){

  $url='http://www.baidu.com/s?wd='.$url;

  $curl=curl_init();

  curl_setopt($curl,CURLOPT_URL,$url);

  curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

  $rs=curl_exec($curl);

  curl_close($curl);

  if(!strpos($rs,'没有找到')){

  if( $baidu_record == 0){

  update_post_meta($post_id, 'baidu_record', 1);

  } else {成都治疗阳痿多少钱?

  add_post_meta($post_id, 'baidu_record', 1, true);

  }

  return 1;

  } else {

  if( $baidu_record == false){

  add_post_meta($post_id, 'baidu_record', 0, true);

  }男性阳痿到底是怎么回事?

  return 0;

  }

  } else {

  return 1;

  }

  }

  function baidu_record() {

  if(baidu_check(get_permalink()) == 1) {

  echo '百度已收录';

  } else {成都阴茎延长的医院有哪些?

  echo '百度未收录';

  }

原创粉丝点击