WordPress优化:查询百度收录, 自动同步微博带图片, 年月日排名的读者墙

WordPress 的流行不是由 WordPress 程序本身决定的,而是由广大的 WordPress 开发者和爱好者推出来的。现在建站选择 WordPress,最方便的就是可以在网上找到非常多的优秀的免费 WordPress 主题,还有各种用途的 WordPress 插件,几乎想要的功能就能用插件来代替。

对于 WordPress 的折腾户来说,没有强大的兴趣作支撑是很难日复一日地研究和推出新的 WordPress 优化技巧和方案,尤其是在国内作为一个 WordPress 开发者有时可能感觉很孤独和寂寞。本篇文章就是来自热爱 WP 的张戈博主自己在折腾 WordPress 过程中开发出来的 WP 实用技巧。

有的朋友可能想要在自己的 WordPress 的每篇文章上展示百度是否收录的情况。还有的为了提高网站人气,我们有必要将 WordPress 的读者制作一个漂亮的展示墙,在评论中显示访客 UA 信息。对于“ 要求高” 的朋友,可能还想要让自己的 WordPress 的每篇文章的 ID 是连续的。

如果你有以上几个需求,那么可以直接将本文分享的有关 WordPress 优化代码拿去用了。前一天部落分享了 WordPress 同步更新到新浪微博,这次我们带来了张戈博主改进优化版本:让 WordPress 发布文章自动同步到新浪微博,并带上特色图片。

WordPress 优化:查询百度收录, 自动同步微博带图片, 年月日排名的读者墙

一、查询并展示 WordPress 文章是否被收录

1 、可能有的人会比较喜欢查询自己博客上的每篇文章是否被百度收录,并将结果展示出来,类似的效果如下:

查询并展示WordPress文章是否被收录

2 、实现在上述效果可以直接使用 WP-Baidu-Record 插件,官网:https://WordPress.org/plugins/wp-baidu-record/

3 、插件激活后,点击 [设置] 按钮进入插件设置界面,插件默认设置如下 (默认是在文章内容的最后输出百度收录结果,而且是公开显示):

使用WP-Baidu-Record插件

4 、如果你想自定义输出位置,那么请勾选自定义结果输出位置,前往 WordPress 主题目录,找到文章模板 (一般是 single.php),然后在想要显示的位置添加如下函数即可:<?php echo baidu_record(); ?>

WordPress添加代码

5 、喜欢使用纯代码的话,编辑 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>';
  • }
  • }

6 、然后编辑 WordPress 主题下的文章模板 (一般是 single.php),在想要显示收录结果的位置添加如下代码并保存:<?php echo baidu_record(); ?> 。和上文插件的安装方法一致,可进一步参考操作。

7 、代码说明如下:

1 、通过 curl 在百度查询 url 收录结果,如果已收录就将结果写入到文章的 post meta 记录中。待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行 curl 查询。

2 、若查询结果为已收录,亦会输出一个在百度查询文章标题的 a 标签,用于查看文章排名,甚至可以查看是否被人转载或篡改!

3 、 管理员可以随时在后台文章编辑界面中的自定义栏目来修改是否已收录的结果,自定义名称为 baidu_record,1 为已收录,0 为未收录。