WordPress实现熊掌号H5页面结构化改造

自从百度宣布将会把80%引流给优质熊掌号后,所以很多的站长朋友也想让站点接入百度熊掌号,以便百度熊掌号对原创文章的收录和搜索结果以及熊掌号页面的展现效果,下面就把WordPress实现熊掌号H5页面结构化改造过程及代码分享给大家。

 

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

 

页面改造最重要的其实就是添加 JSON_LD 数据了,其实可以用下面的代码来实现:

[success]

  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 2018/01/22
  20. function fanly_post_imgs(){
  21.     global $post;
  22.     $src = '';
  23.     $content = $post->post_content;
  24.     preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER);  
  25.     $n = count($strResult[1]);  
  26.     if($n >= 3){
  27.         $src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
  28.     }elseif($n >= 1){
  29.         $src = $strResult[1][0];
  30.     }
  31.     return $src;
  32. }

[/success]

以上两段代码添加到你需要接入熊掌号的主题的 functions.php 中

[success]

  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. ?>

[/success]

以上这段代码添加在你的WordPress主题的header.php的合适的位置

发表评论

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

13 + 13 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据