OGP(The Open Graph protocol)协议是一种新的HTTP头部标记,即Open Graph Protocol,即这种协议可以让网页成为一个“富媒体对象”。由于现在社交类网站大行其道,在HTML头部添加引用此类协议标注有助于被社交网站识别。
OG协议META标签
- og:title 标题
- og:type 类型
- og:image 略缩图地址
- og:url 页面地址
- og:description 页面的简单描述
- og:site_name 页面所在网站名
- og:videosrc 视频或者Flash地址
- og:audiosrc 音频地址
一般的,可以在wordpress文件header.php
中<?php wp_head(); ?>
前加入以下内容
1<meta property="og:title" content="<?php the_title();?>" />
2<meta property="og:site_name " content="<?php bloginfo('name'); ?>" />
3<?php if (is_single()) : ?>
4<meta property="og:type" content="acticle" />
5<meta property="og:description" content="<?php echo get_post_excerpt(); ?>" />
6<meta property="og:url" content="<?php the_permalink();?>"/>
7<?php if ( has_post_thumbnail()):
8 $meta_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'thumbnail'); ?>
9<meta property="og:image" content="<?php echo $meta_image_url[0];?>" />
10<?php endif; ?>
11<?php else: ?>
12<meta property="og:type" content="website" />
13<?php endif; ?>
因为要在LOOP循环外获取文章摘要,所以自定了一个function get_post_excerpt()
在文件 functions.php
中:
1function get_post_excerpt($post, $excerpt_length=140){
2 if(!$post) $post = get_post();
3 $post_excerpt = $post->post_excerpt;
4 if($post_excerpt == ''){
5 $post_content = $post->post_content;
6 $post_content = do_shortcode($post_content);
7 $post_content = wp_strip_all_tags( $post_content );
8 $post_excerpt = mb_strimwidth($post_content,0,$excerpt_length,'…','utf-8');
9 }
10 $post_excerpt = wp_strip_all_tags( $post_excerpt );
11 $post_excerpt = trim( preg_replace( "/[\n\r\t ]+/", ' ', $post_excerpt ), ' ' );
12 return $post_excerpt;
13}