wordpress纯代码实现百度熊掌号页面结构化改造

2018年2月11日14:33:47 发表评论 960

E语云博客今天给大家带来wordpress纯代码实现百度熊掌号页面结构化改造的教程。熊掌号是百度公司在2017年新推出的帮助内容提供者更加方便、快捷、高效地连接百度用户,并充分利用搜索生态开放的优势,获得流量和沉淀用户,实现自身价值的快速增长的平台。熊掌号一经推出,就获得了广大内容提供者的一致好评,因为该操作可以切实保护原创者的利益,以及为新站提供原创内容保护。下面就不啰嗦了,直接开干,本站使用的是wordoress平台,所以就以此为教程参考。

一、添加JSON_LD数据

将下面的代码添加到主题文件中的function.php文件

/*获取文章/页面摘要*/
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 .*?src=[\"|\'](.+?)[\"|\'].*?>/', $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;
}

二、文章页引入代码

将下面的代码添加到主题中header.php文件中的合适位置,代码中添加了一个if判断,只在文章页才引用该代码。

<?php
if(is_single()){
 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').'"
}</script>
';}
?>
    
weinxin
官方QQ交流群
扫一扫加入交流群获取更多资源

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

私信给楼主