前一段时间就看到这个不错的功能了,站长可以方便的看到自己辛辛苦苦写的文章是否被收录,不过我在网上看到的代码都有一个不盒常理的地方,为什么要给用户看你的文章是否被收录呢?所以我改动了一个地方,让非管理员用户看不到是否被收录。
效果预览
纯代码部署方法
- 编辑 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 '[百度已收录](http://www.baidu.com/s?wd=' . get_the_title() . ' "点击查看")';
} else {
echo '[百度未收录](http://zhanzhang.baidu.com/sitesubmit/index?sitename=' . get_permalink() . ' "点击提交,谢谢您!")';
}
}
- 编辑WordPress主题下的文章模板(一般是single.php或者content.php),在想要显示收录结果的位置添加如下代码并保存:
<?php if( current_user_can( 'manage_options' ) ) {
baidu_record();
} ?>
current_user_can()
可以根据不同角色拥有的权限来判断用户角色,具体的用户权限,可以查看 WordPress 的官方文档。
插件版
- 如果你嫌代码版麻烦可以使用插件。 相关插件地址:https://wordpress.org/plugins/wp-baidu-record/
小结
没有小结。
请问博主的 代码高亮插件是哪一款?或者是博主自己写的?
prism.js
这个功能很实用啊~赞一个
这个功能不错
有空去折腾下
发现……在家用mac换了两个浏览器都无法给你留言,用windows就可以了……
你这里的设定略高级……
不科学@hintay(http://kugeek.com)通知用的就是MacBook啊
昨天在家继续用Mac还是不正常,我顺带就截图发到你邮箱给你看那个错误的提醒了,注意查收Gmail的邮件哦
根据我更新的频率,我的收录效果似乎是不错
之前有过写好的文章发布不足1小时,就已经有人通过搜索引擎找到关键词然后来我博客的记录……
你在下边留过言了,我这都快长草了,好久不更新了
原来你的文章有潜规则是一篇文章不能评论2次?
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT nsclick.baidu.com/v.gif?pid=307&type=3071&sign=&desturl=http%253A%252F%252Fdoufu.ru%252F&linkid=i9ghrx429ex&apitype=1 控制台报错了
百度分享的问题吧
使用后登陆状态网站反应速度大幅度下降 【想想也是,毕竟要去百度查询
只有管理员会
是啊。
另:你评论邮件通知系统没了吗?
能收到邮件通知么现在
技术文,不懂.
方法已经采用