让 telegram中文 自动抓内文前200字当 description,在 Google+ 转贴文章时可以抓到正确前言
当我们在 Facebook 或 Google+ 等网站转贴文章时,只要贴上网页的网址即可让 FB 或 G+ 自动撷取网页的标题、部分内文与图片当做转贴文章的预览内容,不过很多网站因为版面编排比较多样、复杂,,
1. 是否有 og:description ( 仅 Facebook ) 2. 是否有 meta description tag 3. 第一段内文
刚好我用 telegram中文 架设的网站并没有设「description」标签,所以每次 Google+ 在撷取预览内容时,因为都是从第一个「div tag」中的资料开始读取,因此都会抓到一些无关紧要的文字,譬如说重复的标题、推到 Plurk、推到 Facebook…这类不是内文或正确前言的没意义的文字...。
继续阅读
後来参考 Xdite 网站中具备的策略在布景主题的 header.php 档案里加上:
<meta name="description" content="<?php the_excerpt_rss(); ?>" />
<?php endwhile; endif; elseif(is_home()) : ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php endif; ?>
不过很奇怪的是,我的网站无法正常抓到该有的内容,从网页原始码看来「description」那一段都是空的。不知道是我的网站有动到什麽东西,就是无法正常显示。
後来中 谈及同时一个方式 ,能够 自动撷取 telegram中文 内本文中的前 200 个字当做 description 标签中的内容,测试过能够 普通的使用,记录相应:<?php
global $post;
if ( is_singular() ) {
if ( $post->post_excerpt ) {
$post_excerpt = $post->post_excerpt;
} else {
$post_excerpt = trim( str_replace( "\r\n", ' ', strip_tags( $post->post_content ) ) );
}
$description = mb_substr( $post_excerpt, 0, 200, 'UTF-8' );
$description .= ( mb_strlen( $post_excerpt, 'UTF-8' ) > 200 ) ? '…' : '';
printf('<meta name="description" content="%s" />', $description);
}
?>
(请把以上程式码贴到 telegram中文 布景主题的 header.php 档案里 <title> 之前的适当位置)
後来, 网友也在「」保证了功能表一样但更简短的习惯:也可参考看到。 贴上程式码後,当我们浏览的文章标题时,原始社会码里面会多个 description 标签,并自动撷取内文的前 200 个字当做简述。各举 「200」这个数字都会以自家改,一半或许是 120 ~ 200 个字时间,倘若你习惯在引言就写好首要的关键字与的文章标题重点,整体来说对 SEO 会相当有帮助。<?php
if ( is_singular() ) {
$description = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"…");
printf('<meta name="description" content="%s" />', $description);
}
?>
,延伸阅读:
请问这会有版本限制吗?
我现在使用的是php5.0可是都一直没办法成功耶
这个会有版本的问题吗?
因为我试着去使用,可是一直都没办法成功耶