WordPress 百度搜索落地页时间因子规范开发改造代码

关于百度搜索落地页时间因子规范已经在博客的分享过开发示例,对于动手能力强的站长或者喜欢折腾的站长可能已经安奈不住了,当然也忍不住第一时间来开始匹配到我们的 WordPress 开源网站程序。

图片[1]-WordPress 百度搜索落地页时间因子规范开发改造代码-七玩网

关于百度搜索落地页时间因子规范已经在博客的分享过开发示例,对于动手能力强的站长或者喜欢折腾的站长可能已经安奈不住了,当然也忍不住第一时间来开始匹配到我们的 WordPress 开源网站程序。

<!-- //WordPress 百度落地页时间因子改造代码(header.php 文件中的 head 标签之前)-->
<?php
if(is_single()||is_page()){
	echo '<script type="application/ld+json">{
	"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
	"@id": "'.get_the_permalink().'",
 	"appid": "账号ID",
	"title": "'.get_the_title().'",
	"images": ["'.fanly_post_imgs().'"],
	"description": "'.fanly_excerpt().'",
	"pubDate": "'.get_the_time('Y-m-d\TH:i:s').'",
	"upDate": "'.get_the_modified_time('Y-m-d\TH:i:s').'"
}</script>
';}
?>

以下代码可以添加到当前主题 functions.php 文件中

//WordPress 百度落地页时间因子改造代码
//获取文章/页面摘要
function fanly_excerpt($len=220){
	if ( is_single() || is_page() ){
		global $post;
		if ($post->post_excerpt) {
			$excerpt  = $post->post_excerpt;
		} else {
			if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
				$post_content = $result['1'];
			} else {
				$post_content_r = explode("\n",trim(strip_tags($post->post_content)));
				$post_content = $post_content_r['0'];
			}
			$excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);
		}
		return str_replace(array("\r\n", "\r", "\n"), "", $excerpt);
	}
}
//优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图
function fanly_post_imgs(){
	global $post;
	$content = $post->post_content;  
	preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);  
	$n = count($strResult[1]);  
	if($n >= 3){
		$src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
	}else{
		if( $values = get_post_custom_values("thumb") ) {	//输出自定义域图片地址
			$values = get_post_custom_values("thumb");
			$src = $values [0];
		} elseif( has_post_thumbnail() ){	//如果有特色缩略图,则输出缩略图地址
			$thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
			$src = $thumbnail_src [0];
		} else {	//文章中获取
			if($n > 0){ // 提取首图
				$src = $strResult[1][0];
			} 
		}
	}
	return $src;
}

以上就是关于 WordPress 百度搜索落地页时间因子规范的 JSON-LD 结构化数据开发改造的完整代码,不过该代码仅支持 WordPress 的文章和页面,并不支持首页、分类、作者页等。

© 版权声明
THE END
文章不错?点个赞呗
点赞0 分享