纯代码给WordPress文章加百度是否已收录功能

沃森博客 2017年9月4日13:05:56WordPress评论2232阅读模式

方法一 :仅管理员可见的百度是否已收录此文章

编辑wordpress主题目录下的functions.php文件,在最后一个?>标签前新添如下代码并保存。如果没有?>标签,则直接加到最后面。此段代码来源于朱曙明博客。

  1. /* 
  2. 判断当前文章是否被百度收录,若没有被收录则可点击提交至百度,加速收录!(此插件在文章页面仅管理员可见)  
  3. */  
  4. function d4v($url){  
  5.     $url='http://www.baidu.com/s?wd='.$url;  
  6.     $curl=curl_init();  
  7.     curl_setopt($curl,CURLOPT_URL,$url);  
  8.     curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);  
  9.     $rs=curl_exec($curl);  
  10.     curl_close($curl);  
  11.     if(!strpos($rs,'没有找到')){  
  12.         return 1;  
  13.     }else{  
  14.         return 0;  
  15.     }  
  16. }  
  17. add_filter( 'the_content',  'baidu_submit' );  
  18. function baidu_submit( $content ) {  
  19.     if( is_single() && current_user_can( 'manage_options') )  
  20.         if(d4v(get_permalink()) == 1)  
  21.             $content="<p align=right>百度已收录(仅管理员可见)</p>".$content;  
  22.         else  
  23.             $content="<p align=right><b><a style=color:red target=_blank href=http://zhanzhang.baidu.com/sitesubmit/index?sitename=".get_permalink().">百度未收录!点击此处提交</a></b>(仅管理员可见)</p>".$content;  
  24.         return $content;  
  25.     }  

方法二 :纯代码给WordPress文章加百度是否已收录功能

同样是在functions.php文件下添加如下代码:

  1. //纯代码给WordPress文章加百度是否已收录功能  
  2. function baidu_check($url){  
  3.     global $wpdb;  
  4.     $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;  
  5.     $baidu_record  = get_post_meta($post_id,'baidu_record',true);  
  6.     if$baidu_record != 1){  
  7.         $url='http://www.baidu.com/s?wd='.$url;  
  8.         $curl=curl_init();  
  9.         curl_setopt($curl,CURLOPT_URL,$url);  
  10.         curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);  
  11.         $rs=curl_exec($curl);  
  12.         curl_close($curl);  
  13.         if(!strpos($rs,'没有找到')){  
  14.             if$baidu_record == 0){  
  15.                 update_post_meta($post_id, 'baidu_record', 1);  
  16.             } else {  
  17.                 add_post_meta($post_id, 'baidu_record', 1, true);  
  18.             }  
  19.                 return 1;  
  20.         } else {  
  21.             if$baidu_record == false){  
  22.                 add_post_meta($post_id, 'baidu_record', 0, true);  
  23.             }  
  24.             return 0;  
  25.         }  
  26.     } else {  
  27.        return 1;  
  28.     }  
  29. }  
  30. function baidu_record() {  
  31.     if(baidu_check(get_permalink()) == 1) {  
  32.         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>';  
  33.    } else {  
  34.         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>';  
  35.    }  
  36. }  

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

  1. <?php baidu_record(); ?>  

方法三 : 安装插件实现

wp-baidu-record:这个插件能够很方便地在首页/目录列表页/文章页默认/指定位置显示该篇文章的百度收录状态,以方便博主站长们对未被收录的文章进行调整。

baidu accept:该插件需要开启PHP的cURL扩展,否则无法正常使用。

下载地址:

沃森博客
  • 本文由 发表于 2017年9月4日13:05:56
  • 本文来自互利网收集整理,问题反馈联系邮箱:wosnnet@foxmail.com,转载请务必保留本文链接:https://wosn.net/254.html

发表评论