MENU

Wordpress Zibll主题 文章顶部添加百度收录按钮

August 21, 2024 • Read: 47 • Wordpress

原理介绍:

这是一个功能实现的函数和调用函数。函数的作用是检查文章是否被百度收录,如果被收录了就在文章前面加上一个“百度已收录”的提示,否则加上一个“百度未收录”的提示和一个推送给百度的按钮。

具体逻辑:

baidu_check() 函数用来检查文章是否被百度收录
首先获取文章的 ID 和其是否已被百度收录的状态
如果文章未被收录,则构建一个百度搜索的 URL,使用 curl 函数进行搜索,并通过 strpos() 函数来检测是否搜索到了该文章
如果搜索结果中包含该文章,就将该文章的收录状态更新为已收录,并返回提示信息
如果搜索结果中未包含该文章,将该文章的状态设置为未收录,并返回提示信息
如果文章已被索引,直接返回已收录的状态
baidu_record() 函数在调用页面显示相应的提示信息和按钮,并在点击按钮时将页面推送给百度索引
在 zib-single.php 中直接获取返回值

部署方法:

根目录 /wp-content/themes/zibll/func.php 添加以下代码,没有就新建
代码中的 你的token在百度站长平台复制过来就可以,只复制 token= 后面那一串

<?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="https://www.baidu.com/s?wd='.get_the_title().'小扎仙森"><span class="but c-yellow baidu-shoulu"><i class="fa fa-paw" aria-hidden="true"></i>百度已收录</span></a>';
  } else {
    echo '<a style="color:red;" rel="external nofollow" title="一键帮忙提交给百度,谢谢您!" target="_blank" href="http://data.zz.baidu.com/urls?site='.get_permalink().'&token=你的token"><span class="but c-grey baidu-shoulu"><svg class="icon" aria-hidden="true"><use xlink:href="#io-baidu1"></use></svg>百度未收录</span></a>';
  }
}

WordPress后台→Zibll主题设置→自定义代码→自定义CSS样式 添加以下代码

.baidu-shoulu {
    border-radius: 0 0 var(--main-radius) var(--main-radius) !important;
}

根目录 /wp-content/themes/zibll/inc/functions/zib-single.php 在220行左右添加以下代码

echo '  '; baidu_record();


Archives QR Code Tip
QR Code for this page
Tipping QR Code