WordPress 熊掌号 Json_LD 结构化数据改造代码

转载 泪雪博客  2017-12-03 04:45  阅读 438 次 评论 0 条 百度已收录

熊掌号 Json_LD 结构化数据改造代码

首先我们需要根据百度熊掌号后台的“页面改造”里的提示先给自己的站点做个小小的改造以便百度熊掌号可以快速的识别和运用我们站点的链接数据,比如搜索结果中以结构化样式展现等。

页面改造最重要的其实就是添加JSON_LD数据代码:

 

  1. //获取文章/页面摘要
  2. function fanly_excerpt($len=220){
  3.     if ( is_single() || is_page() ){
  4.         global $post;
  5.         if ($post->post_excerpt) {
  6.             $excerpt  = $post->post_excerpt;
  7.         } else {
  8.             if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
  9.                 $post_content = $result['1'];
  10.             } else {
  11.                 $post_content_r = explode("\n",trim(strip_tags($post->post_content)));
  12.                 $post_content = $post_content_r['0'];
  13.             }
  14.             $excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);
  15.         }
  16.         return str_replace(array("\r\n""\r""\n"), ""$excerpt);
  17.     }
  18. }
  19. //优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图 last update 2017/11/23
  20. function fanly_post_imgs(){
  21.     global $post;
  22.     $content = $post->post_content;
  23.     preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER);  
  24.     $n = count($strResult[1]);  
  25.     if($n >= 3){
  26.         $src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
  27.     }else{
  28.         if( $values = get_post_custom_values("thumb") ) {   //输出自定义域图片地址
  29.             $values = get_post_custom_values("thumb");
  30.             $src = $values [0];
  31.         } elseif( has_post_thumbnail() ){   //如果有特色缩略图,则输出缩略图地址
  32.             $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
  33.             $src = $thumbnail_src [0];
  34.         } else {    //文章中获取
  35.             if($n > 0){ // 提取首图
  36.                 $src = $strResult[1][0];
  37.             }
  38.         }
  39.     }
  40.     return $src;
  41. }

百度熊掌号在Json_LD数据里面是支持单张缩略图和三张缩略图的样式,所以上述代码会优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图。

建议大家把以上两段代码添加到你需要接入熊掌号的 WordPress 站点主题的functions.php中。

 

  1. <?php
  2. if(is_single()){
  3.     echo '<script type="application/ld+json">{
  4.     "@context""https://ziyuan.baidu.com/contexts/cambrian.jsonld",
  5.     "@id""'.get_the_permalink().'",
  6.     "appid""这里请填写熊掌号ID",
  7.     "title""'.get_the_title().'",
  8.     "images": ["'.fanly_post_imgs().'"],
  9.     "description""'.fanly_excerpt().'",
  10.     "pubDate""'.get_the_time('Y-m-d\TH:i:s').'"
  11. }</script>
  12. ';}
  13. ?>

将上述代码添加在你的WordPress主题的header.php的合适的位置,以上代码还做了一个if判断,只让该段代码在文章中输出。

关于WordPress接入百度熊掌号的Json_LD数据代码改造就给大家分享到这里了吧,最后如果大家的WordPress站点成功接入熊掌号,不妨再试试下面讲到的《WordPress百度熊掌号数据提交插件》,这个插件或许能够助力你更快的实现官方好数据提交和原创推送。

如果文章对你有帮助,请赞赏支持闲木鱼发展!

本文地址:https://www.xianmuyu.com/1097.html
温馨提示:文章内容系作者个人观点,不代表闲木鱼对观点赞同或支持。
版权声明:本文为转载文章,来源于 泪雪博客 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情