浅谈WordPress接入熊掌号及页面改造

最近想搞个熊掌号来玩玩,于是在前两天申请并且通过.

申请通过后需要对网站进行改造,于是翻阅互连网,东拼西凑终于搞定,完成改造,下面分享下页面改造过程.

方法/步骤

改造之前需注册熊掌号,点此打开,申请次数有限,申请时注意手持身份证照片最好是原图,避免系统识别不到身份证信息.

不同WordPress主题改造文件有所不同,这里我当前使用知更鸟Lts版本,需用到的3个文件分别为functions.phphead.phpcontent.php

添加熊掌号ID声明

首先使用到的是head.php,添加熊掌号ID声明,代码如下:

  1. <script src="//msite.baidu.com/sdk/c.js?appid=此处填写熊掌号ID"></script>

添加JSON_LD数据

  1. <!--Start-->
  2. <!--熊掌号-->
  3. <script src="//msite.baidu.com/sdk/c.js?appid=1595281659287879"></script>
  4. <script type="application/ld+json">
  5.         {
  6.             "@context""https://ziyuan.baidu.com/contexts/cambrian.jsonld",
  7.             "@id""<?php the_permalink(); ?>",
  8.             "appid""熊掌号ID",
  9.             "title""<?php the_title(); ?>",
  10.             "images": ["<?php echo fanly_post_imgs();?>"],
  11.             "description""<?php echo fanly_excerpt()?>",
  12.             "pubDate""<?php echo get_the_time('Y-m-d\TH:i:s')?>"
  13.         }
  14. </script>
  15. <!--end-->

functions.php

  1. //Start
  2. //获取文章/页面摘要
  3. function fanly_excerpt($len=220){
  4.     if ( is_single() || is_page() ){
  5.         global $post;
  6.         if ($post->post_excerpt) {
  7.             $excerpt  = $post->post_excerpt;
  8.         } else {
  9.             if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
  10.                 $post_content = $result['1'];
  11.             } else {
  12.                 $post_content_r = explode("\n",trim(strip_tags($post->post_content)));
  13.                 $post_content = $post_content_r['0'];
  14.             }
  15.             $excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);
  16.         }
  17.         return str_replace(array("\r\n""\r""\n"), ""$excerpt);
  18.     }
  19. }
  20. //获取缩略图
  21. function fanly_post_imgs(){
  22.     global $post;
  23.     $src = '';
  24.     $content = $post->post_content;
  25.     preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER);  
  26.     $n = count($strResult[1]);  
  27.     if($n >= 3){
  28.         $src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
  29.     }elseif($n >= 1){
  30.         $src = $strResult[1][0];
  31.     }
  32.     return $src;
  33. }
  34. //END

content.php

以下代码不同主题可能有所不同,根据实际情况添加适当位置,本站当前在105行处添加,文件目录为主题目录/template/content.php

  1. <script>cambrian.render('tail')</script>

效果展示

效果显示在文章末端

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
21 条回复 A 作者 M 管理员
  1. 博主主题能否分享一下

    • 现在的人都这么直接了吗?

  2. 很不错,按你的代码通过了,但是有一个问题,首页和栏目页,title获取不正确,我看到有代码只作用在文章页的,但是他那个判断代码一放上去就会空白页,无解。

    <link rel="canonical" href=""/>

    <?php
    if(is_single()){
    echo '
    {
    "@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').'"
    }
    ';
    }
    ?>

    博主帮看一下是什么原因。

    • 主题调用标题函数不一样吧

    • 我看了一下你的软件工具栏目的源代码:{
      "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
      "@id": "https://www.chiser.cc/962.html",
      "appid": "1595281659287879",
      "title": "M3U8批量下载器 v1.4",
      "images": ["https://images.chiser.cc/20180822155703.png"],
      "description": "",
      "pubDate": "2018-08-22T16:02:50"
      }
      一样的title是获取你的第一篇文章的title。

    • 部署代码后你审查元素看看能不能获取标题和图片

    • 没有,从<?php if(is_single()){ 开始,后面所有的代码都没了,页面空白。

    • 不是,审查元素看看那个熊掌号代码能不能获取到标题

  3. 后面都空了,没有了,看不到代码,echo '
    {
    “@context”
    后面的应该都没有输出,我也不懂了,只是看到别人的可以实现。

    • 那就是函数问题了

    • 如果解决不了,那只能算了,在折腾了。
      如果你那天解决了这个问题,回复一下我,我的邮箱会收到提示。

    • 你可以咨询使用此款主题的站长,应该有方法

    • 已经在问了,还没见回复。

    • 好的

  4. 折腾了一下,判断不变,换成你的输出方式,可以输出了,不知道好不好。先用着先了。

    • 错了,没搞成功。。。没输出成功。。。

    • 慢慢来不急

  5. 标题下面的查看是怎么实现的

    • 跟底部插入方法一样

  6. 我想校验一下是否正确 但是我找不到那个入口。。

    • 百度资源搜索平台,看看有没,我这不显示了

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论