熊掌号出来有一段时间了。一直没有空改造,官方文档看了好几次。wordpress这么强悍的程序,我想应该有插件改造!图方便,但是试了几个,发现很垃圾!找到一个收费版本的,支付49元后!没有什么鸟用,而且还有广告。
购买的:BaiduXZH Submit(百度熊掌号),收费免费版本都试了一下。是在是无语了!下面是购买截图!
购买的:BaiduXZH Submit(百度熊掌号)这个是邮箱发送的信息:
购买的:BaiduXZH Submit(百度熊掌号)微信付款信息。
是在是没有话可说的。
然后没有办法罗,只好手动改造了哦!废话了那么多!只想说的是,这个插件真的很烂。付费的还是一个尿样。
下面是我自己亲手改造的步骤详情:我的模版是知更鸟4.2的版本:
header.php文件修改
在主题目录下的 header.php 文件的合适位置添加下面这段代码:
<!-- 百度熊掌号页面改造 --> <link rel="canonical" href="<?php the_permalink() ?>"/> <script src="//msite.baidu.com/sdk/c.js?appid=你的熊掌号ID"></script> <?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>'; } ?>
这段代码主要是为网页添加“canonical标签”、“熊掌号ID声明”以及“JSON_LD数据”,其中JSON_LD数据调用的两个变量 ‘.fanly_post_imgs().’ 与 ‘.fanly_excerpt().’ 我们需要在后面通过函数获取。
function.php文件修改
添加如下代码至你主题的 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); } } //优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图 last update 2017/11/23 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; }
这段代码是通过两个自定义函数获取分享文章或页面的描述及图像的,也就是上面JSON_LD中的两个变量 ‘.fanly_post_imgs().’ 与 ‘.fanly_excerpt().’ 。
single.php文件修改
由于一般我们希望熊掌号展现的内内容都是文章,所以我只在文章页面添加了关注功能,在 single.php 文件中添加如下代码即可实现:
<script>cambrian.render('head')</script>
<script>cambrian.render('body')</script>
<script>cambrian.render('tail')</script>
顶部bar、段落间bar及底部bar的前端显示效果如下,大家可根据自己喜好选用。三种bar最多只能选用两个,后期百度会查。
最后改造好之后,就是在线校验了。去官网找到在线校验工具。
然后输入相关的链接和代码如图所示:
提示效验成功!就OK了!
有不懂的地方可以在下面留言哦。