给wordpress文章添加百度是否收录功能

  • A+
所属分类:建博笔记

一、效果演示

已收录效果演示:

给wordpress文章添加百度是否收录功能

未收录效果演示:

给wordpress文章添加百度是否收录功能

 

二、文章说明

  • 需要已注册或已使用“百度搜索资源平台”
  • 使用相同主题的用户可直接按教程参作,其他主题的童鞋,主体代码可供参考

 

三、后台添加功能选项

打开inc/options/begin-options.php文件,大约3795行的位置,找到代码

	$options[] = array(
		'name' => '',
		'desc' => '可视化编辑器',
		'id' => 'visual_editor',
		'std' => '1',
		'type' => 'checkbox'
	);

在其上面(也可以在你喜欢的位置)添加

	$options[] = array(
		'name' => '',
		'desc' => '显示百度收录与否',
		'id' => 'baidu_record',
		'std' => '1',
		'type' => 'checkbox'
	);

	$options[] = array(
		'id' => 'clear'
	);

添加后,可在主题选项--基本设置中找到该功能。

 

四、添加功能主体代码

inc/目录下新建一个名为baidu-record.php的文件,并复制下面的代码到该文件中

<?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_t() {
	if (is_user_logged_in()) {
		if(baidu_check(get_permalink()) == 1) {
			echo '<li class="baidu-r"><a target="_blank" title="点击查看" rel="external nofollow" rel="external nofollow" target="_blank" href="https://isdola.com/wp-content/themes/ido/go.php?url=aHR0cDovL3d3dy5iYWlkdS5jb20vcz93ZD0nLmdldF90aGVfdGl0bGUoKS4n"><i class="be be-baidu"></i>已收录</a></li>';
		} else {
			echo '<li class="baidu-r"><a rel="external nofollow" title="一键提交给百度" target="_blank" rel="external nofollow" target="_blank" href="https://isdola.com/wp-content/themes/ido/go.php?url=aHR0cDovL3poYW56aGFuZy5iYWlkdS5jb20vc2l0ZXN1Ym1pdC9pbmRleD9zaXRlbmFtZT0nLmdldF9wZXJtYWxpbmsoKS4n"><i class="be be-baidu"></i>暂未收录</a></li>';
		}
	}
}

function baidu_record_b() {
	if (is_user_logged_in()) {
		if(baidu_check(get_permalink()) == 1) {
			echo '<span class="baidu-r"><a target="_blank" title="点击查看" rel="external nofollow" rel="external nofollow" target="_blank" href="https://isdola.com/wp-content/themes/ido/go.php?url=aHR0cDovL3d3dy5iYWlkdS5jb20vcz93ZD0nLmdldF90aGVfdGl0bGUoKS4n"><i class="be be-baidu"></i>已收录</a></span>';
		} else {
			echo '<span class="baidu-r"><a rel="external nofollow" title="一键提交给百度" target="_blank" rel="external nofollow" target="_blank" href="https://isdola.com/wp-content/themes/ido/go.php?url=aHR0cDovL3poYW56aGFuZy5iYWlkdS5jb20vc2l0ZXN1Ym1pdC9pbmRleD9zaXRlbmFtZT0nLmdldF9wZXJtYWxpbmsoKS4n"><i class="be be-baidu"></i>暂未收录</a></span>';
		}
	}
}

因为涉及到文章内容模板文件的结构,所以有两个函数体,在下面添加代码时,注意调用的是不同的函数体,不要添加错了。

 

五、加载主体文件

打开inc/config.php文件,在适当位置添加

if (zm_get_option('baidu_record')) {require(get_template_directory().'/inc/baidu-record.php');}

代码说明:

  • 添加的位置随意,参考原来的代码结构即可
  • 通过if语句选择性加载文件,以便关闭该功能时,可以减少不必要的文件加载,提高访问速度

 

六、前台相关文件添加功能显示

打开inc/inc.php文件,大约363行的位置,找到函数体

// 文章信息
function begin_entry_meta() {
	if ( ! is_single() ) :
		echo '<span class="date">';
			time_ago( $time_type ='post' );
		echo '</span>';
		if( function_exists( 'the_views' ) ) { the_views( true, '<span class="views"><i class="be be-eye"></i> ','</span>' ); }
		if ( post_password_required() ) { 
			echo '<span class="comment"><a href=""><i class="icon-scroll-c"></i> ' . sprintf(__( '密码保护', 'begin' )) . '</a></span>';
		} else {
			echo '<span class="comment">';
				comments_popup_link( '<span class="no-comment"><i class="be be-speechbubble"></i> ' . sprintf(__( '发表评论', 'begin' )) . '</span>', '<i class="be be-speechbubble"></i> 1 ', '<i class="be be-speechbubble"></i> %' );
			echo '</span>';
		}
 	else :
		echo '<ul class="single-meta">';
			edit_post_link('' . sprintf(__( '编辑', 'begin' )) . '', '<li class="edit-link">', '</li>' );
			if (zm_get_option('print_on')) {
				echo '<li class="print"><a href="javascript:printme()" target="_self" title="' . sprintf(__( '打印', 'begin' )) . '"><i class="be be-print"></i></a></li>';
			}
			if ( post_password_required() ) { 
			echo '<li class="comment"><a href="#comments">' . sprintf(__( '密码保护', 'begin' )) . '</a></li>';
			} else {
				echo '<li class="comment">';
					comments_popup_link( '<i class="be be-speechbubble"></i> ' . sprintf(__( '发表评论', 'begin' )) . '', '<i class="be be-speechbubble"></i> 1 ', '<i class="be be-speechbubble"></i> %' );
				echo '</li>';
			}
			if( function_exists( 'the_views' ) ) { the_views(true, '<li class="views"><i class="be be-eye"></i> ','</li>'); }
				echo '<li class="r-hide"><a href="#"><span class="off-side"></span></a></li>';
		echo '</ul>';
		echo '<ul id="fontsize"><li>A+</li></ul>';
		echo '<div class="single-cat-tag">';
			echo '<div class="single-cat">' . sprintf(__( '所属分类', 'begin' )) . ':';
				the_category( ' ' );
			echo '</div>';
		echo '</div>';
	endif;
}

在上面的代码中,找到第28行代码,在其上面添加

if (zm_get_option('baidu_record')) {baidu_record_t();}

同样的方法,在该文件中找到函数体

function begin_single_meta() {
	echo '<div class="begin-single-meta">';
		echo '<span class="my-date"><i class="be be-schedule"></i> ';
			time_ago( $time_type ='posts' );
		echo '</span>';
		if ( post_password_required() ) { 
			echo '<span class="comment"><a href="#comments">' . sprintf(__( '密码保护', 'begin' )) . '</a></li>';
		} else {
			echo '<span class="comment">';
				comments_popup_link( '<i class="be be-speechbubble"></i> ' . sprintf(__( '发表评论', 'begin' )) . '', '<i class="be be-speechbubble"></i> 1 ', '<i class="be be-speechbubble"></i> %' );
			echo '</span>';
		}
		if( function_exists( 'the_views' ) ) { the_views(true, '<span class="views"><i class="be be-eye"></i> ','</span>'); }
		if (zm_get_option('print_on')) {
			echo '<span class="print"><a href="javascript:printme()" target="_self" title="' . sprintf(__( '打印', 'begin' )) . '"><i class="be be-print"></i></a></span>';
		}
		edit_post_link('' . sprintf(__( '编辑', 'begin' )) . '', '<span class="edit-link">', '</span>' );
		echo '<span class="s-hide"><a href="#"><span class="off-side"></span></a></span>';
	echo '</div>';
}

在上面的代码中,找到第13行代码,在其上面添加

if (zm_get_option('baidu_record')) {baidu_record_b();}

然后,打开主题根目录下的single-picture.php文件,大约45行的位置,找到代码

<?php if( function_exists( 'the_views' ) ) { the_views(true, '<li class="views"><i class="be be-eye"></i> ','</li>');  } ?>

在其上面添加

<?php if (zm_get_option('baidu_record')) {baidu_record_t();} ?>

最后,打开主题根目录下的single-video.php文件,大约59行的位置,找到代码

<?php edit_post_link('编辑', '<li class="edit-link">', '</li>' ); ?>

在其下面添加

<?php if (zm_get_option('baidu_record')) {baidu_record_t();} ?>

 

七、功能使用与说明

  • 主题选项--基本设置启用显示百度收录与否选项
  • 在前台打开任意一个页面,在文章内容右上角功能区中即可看到百度是否收录的提示
  • 若收录则显示“已收录”字样;若未收录则显示“暂未收录”字样,可点击该按钮直接跳转到百度搜索资源平台,手动提交该文章链接
  • 该功能仅管理员可见,普通访客无法查看
  • 在添加百度收录函数的时候要分别添加,因为他们调用的不是同一个函数体
若文章图片、下载链接、网盘密码等信息出错,请留言反馈,博主将第一时间更新!

本文来源于互联网:给wordpress文章添加百度是否收录功能

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注