WordPress自动检测文章是否被百度收录 – 无插件实现

我们经常看到有些网友的博客标题下面有一个小标签,\”百度已收录\”、\”百度未收录\”。这样的功能到底是如何实现的呢?如果说要有用确实也没有用,但是如果有些朋友个人博客需要加上这个功能的还是可以实现的。如果有需要用插件就简单用插件实现,这里用无插件实现。

第一、代码部分

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 target=\”_blank\” title=\”点击查看\” rel=\”external nofollow\” href=\”http://www.baidu.com/s?wd=\’.get_the_title().\’\”>百度已收录</a>\’;
} else {
echo \'<a style=\”color:red;\” rel=\”external nofollow\” title=\”一键帮忙提交给百度,谢谢您!\” target=\”_blank\” href=\”http://zhanzhang.baidu.com/sitesubmit/index?sitename=\’.get_permalink().\’\”>百度未收录</a>\’;
}
}

将代码添加到当前主题Functions.php文件中。

第二、调用显示

<?php baidu_record(); ?>

在需要显示的当前文章页面single.php标题下面就可以看到。