我的这个主题在原主题上是没有百度收录情况显示的,我也是为了方便查看百度收录情况所以才添加上了这段代码,虽然效果并不是很理想,但我决定还是先记录下来分享一下,等后续整理到更完善的代码会相继补上。我在这里有两种,一个是实时查询版本,一个是数据库入库查询版本,仅供参考:

实时查询

1. 编辑主题目录的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 '<a style="color:green;font-size:12px;float: right;" target="_blank" title="点击查看" rel="external nofollow" href="http://www.baidu.com/s?wd='.get_the_title().'"><i class="fa fa-paw fa-lx"></i>百度已收录</a>';
   } else {
     echo '<a style="color:red;font-size:12px;float: right;" rel="external nofollow" title="点击提交" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'"><i class="fa fa-paw fa-lx"></i>百度未收录</a>';
   }
 }

2. 编辑文章模板(一般是single.php),在合适的位置添加如下代码并保存:

<?php baidu_record(); ?>

完成上面两步设置,文章对应位置已经可以看到百度是否收录的展示了,样例可见我文章底部版权栏。

数据库入库查询

这个方法暂时还没有整理好,稍后...

总结

免插件实现WordPress自动检查文章是否被百度收录这个方法看起来挺复杂,其实也有两个步骤而已,如果你动手能力稍微强一点的话,还是自己动手比较好!毕竟安装插件还需要200多K的空间,而其实也就几句代码的事情嘛!

在此感谢张戈同学的辛勤付出,大家如果想多了解一下WordPress技术方面的东西,可以访问张戈博客,里面有不少的好文章,值得你好好去看看。

最后,大家如果还有什么不明白的地方,或者还实现不了这个功能,欢迎在下面的留言框里提出来。


技术成就梦想,细节成就品质。