因为百度熊掌号是刚刚上线的,所以很多的主题和插件都没有提供应对的方案,今天明月就借助网上的相关资料整理出来了有关用好百度熊掌号的代码和插件,分享给大家。
纯代码实现熊掌号 H5 页面结构化改造
首先我们需要根据百度熊掌号后台的“页面改造”里的提示先给自己的站点做个小小的改造以便百度熊掌号可以快速的识别和运用我们站点的链接数据,比如搜索结果中以结构化样式展现等。
页面改造最重要的其实就是添加 JSON_LD 数据了,其实可以用下面的代码来实现:
- //获取文章/页面摘要
- 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 数据里面是支持单张缩略图和三张缩略图的样式,所以上述代码会优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图。
建议大家把以上两段代码添加到你需要接入熊掌号的 WordPress 站点主题的 functions.php 文件中,然后继续:
- <?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>
- ‘;}
- ?>
将上述代码添加在你的 WordPress 主题的 header.php 文件合适的位置,以上代码还做了一个 if 判断,只让该段代码在文章中输出。
关于 WordPress 接入百度熊掌号的 Json_LD 数据代码改造就给大家分享到这里了吧,最后如果大家的 WordPress 站点成功接入熊掌号,不妨再试试下面讲到的『WordPress 百度熊掌号/原创文章数据提交插件』,这个插件或许能够助力你更快的实现官方好数据提交和原创推送。
上述代码感谢【泪雪博客】的无私分享。
WordPress 百度熊掌号/原创文章数据提交插件
这是一款根据百度站长平台原创保护提交接口而升级开发的 WordPress 插件,目前插件已经开始适配百度熊掌号(原百度官方号)的数据提交内测,可实现用户自动自主的将文章推送至官方号及原创保护文章推送,支持定时文章推送。
简单的插件设置页面,只需填写准入密钥 Token 即可(token 填写错误是没法保存和使用插件的哦,同时 token 获取地址也在插件设置页面设置提示说明了),如果你的站点或者博客基本都是原创文章,那么不言而喻你可以勾选这个默认原创的功能,这样你在发布文章的时候默认就会主动推送到百度,同时也是可以在发布文章的时候设置和勾选是否是原创而选择性推送,最新版插件还支持 WordPress 的“文章类型”选择等等。
在发布模块中的状态也几乎做到了极致,提交成功,剩余的配额数量,配额上线,以及错过了发布文章一小时内提交的错过提示,总之你能想到的,作者已经想到并做到了。
目前的数据改造和插件明月都已经用上了,也通过了百度熊掌号“页面改造”里在线校验工具的效验(如上图,有图有真相嘛!),至于说具体的效果只能是“拭目以待”了,其实最重要的还是“原创”内容的创作,这才是王道呀。明月近期也在努力的坚持“原创”,没办法呀,没有原创对于我们草根博客来说是不行的,看来这是一个必须要改变的过程了。