WordPress的流行不是由Wordpress程序本身决定的,而是由广大的Wordpress开发者和爱好者推出来的。现在建站选择Wordpress,最方便的就是可以在网上找到非常多的优秀的免费Wordpress主题,还有各种用途的Wordpress插件,几乎想要的功能就能用插件来代替。
对于Wordpress的折腾户来说,没有强大的兴趣作支撑是很难日复一日地研究和推出新的Wordpress优化技巧和方案,尤其是在国内作为一个Wordpress开发者有时可能感觉很孤独和寂寞。本篇文章就是来自热爱WP的张戈博主自己在折腾Wordpress过程中开发出来的WP实用技巧。
有的朋友可能想要在自己的Wordpress的每篇文章上展示百度是否收录的情况。还有的为了提高网站人气,我们有必要将Wordpress的读者制作一个漂亮的展示墙,在评论中显示访客UA信息。对于“要求高”的朋友,可能还想要让自己的Wordpress的每篇文章的ID是连续的。
如果你有以上几个需求,那么可以直接将本文分享的有关Wordpress优化代码拿去用了。前一天部落分享了WordPress同步更新到新浪微博,这次我们带来了张戈博主改进优化版本:让WordPress发布文章自动同步到新浪微博,并带上特色图片。
WordPress优化:查询百度收录,自动同步微博带图片,年月日排名的读者墙
一、查询并展示Wordpress文章是否被收录
1、可能有的人会比较喜欢查询自己博客上的每篇文章是否被百度收录,并将结果展示出来,类似的效果如下:
2、实现在上述效果可以直接使用WP-Baidu-Record插件,官网:https://wordpress.org/plugins/wp-baidu-record/
3、插件激活后,点击[设置]按钮进入插件设置界面,插件默认设置如下(默认是在文章内容的最后输出百度收录结果,而且是公开显示):
4、如果你想自定义输出位置,那么请勾选自定义结果输出位置,前往WordPress主题目录,找到文章模板(一般是single.php),然后在想要显示的位置添加如下函数即可:<?php echo baidu_record(); ?>
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为未收录。
文章评论 本文章有个评论