当前位置: 首页 > wordpress分享 > 正文
插件、非插件实现wordpress百度收录查询
发布:2015-01-30 23:20:45 分类:wordpress分享 5条评论
有的朋友可能想要在自己的Wordpress的每篇文章上展示百度是否收录的情况。插件和非插件都可以实现这个功能,本文来分享一下非插件实现百度收录查询和插件实现百度收录查询!
首先声明本文非原创,内容和代码来自张戈博客,本文只是对文章重新排序和删除一些文字描述重新组合。
先看下效果图:
下图内页照样可以实现
一:插件实现百度收录查询:
- 在后台直接直接使用WP-Baidu-Record插件,官网:https://wordpress.org/plugins/wp-baidu-record/
- 插件激活后,点击[设置]按钮进入插件设置界面,插件默认设置如下(默认是在文章内容的最后输出百度收录结果,而且是公开显示)
二:非插件实现百度收录查询:
- 编辑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 '<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>';
- }
- }
- 然后编辑WordPress主题下的文章模板(一般是single.php),在想要显示收录结果的位置添加如下代码并保存:
- <?php echo baidu_record(); ?>
注:关于这个代码的使用:<?php echo baidu_record(); ?>即使使用插件,你也可以把这段代码放到你认为合适的地方。
三:
1、通过curl在百度查询url收录结果,如果已收录就将结果写入到文章的post meta记录中。待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询。
2、若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改!
3、 管理员可以随时在后台文章编辑界面中的自定义栏目来修改是否已收录的结果,自定义名称为baidu_record,1为已收录,0为未收录。
最活跃的读者