织梦内容页做熊掌号有图片就输出三张,没有就不输出
织梦内容页做熊掌号,图片这一块,有文章内容图片就输出3张,没有就不输出,自动加逗号隔开,在 /include/extend.func.php 这个文件最下面加入一个函数
/** * 文章内容提取图片(多张)自定义输出 * 织梦模板网 * @access public * @param string $string 文档内容 * @param string $num 输出几张 * @return string */ if(!function_exists('getBodypics')) { function getBodypics($string, $num) { global $cfg_basehost; preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; $result = ''; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= ($result=='' ? '"'.$cfg_basehost.$imgsrc.'"' : ','.'"'.$cfg_basehost.$imgsrc.'"'); $i++; } return $result; } } |
然后在织梦内容页模板在</head>前面加入
<link rel="canonical" href="{dede:global.cfg_basehost/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}"> <script src="//msite.baidu.com/sdk/c.js?appid=1608633444348086"></script> <script type="application/ld+json"> { "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld", "@id": "{dede:global.cfg_basehost/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}", "appid": "1608633444348086", "title": "{dede:field.title/}", "images": [{dede:field.body function=getBodypics(@me,3)/}], "description": "{dede:field.description function=html2text(@me)/}", "pubDate": "{dede:field.pubdate function="MyDate('Y-m-d\TH:i:s',@me)"/}" } </script> |
如果网站有独立手机端,把{dede:global.cfg_basehost/}这个改为手机域名,上面代码中那2个id 608633444348086改成你自己的熊掌号id