打开 Blogger 的 Graph 协议代码并获取 Post 的正文
Open Graph protocol code for Blogger and get the Post's Body
我在我的博主博客中插入了代码,这样它就可以自动创建 the Open Graph protocol 片段,例如,被许多社交媒体网站使用。
我看到很多源代码,但 none 似乎工作得很好。
这是我写的,我在博客模板中插入到标记 </head>
之前。除了在 属性 og:description
上,它工作得很好。我还想将 post 内容作为描述。
<!-- OpenGraph starts-->
<meta content='article' property='og:type'/>
<meta expr:content='data:blog.title' property='og:site_name'/>
<!-- Title and URL -->
<meta expr:content='data:blog.pageName' property='og:title'/>
<meta expr:content='data:blog.canonicalUrl.https' property='og:url'/>
<!--Description-->
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' property='og:description'/>
<b:elseif cond='data:post.snippet'/>
<meta expr:content='data:post.snippet' property='og:description'/>
<b:else/>
<meta expr:content='data:I_WANT_THE_POST_BODY' property='og:description'/>
</b:if>
<!-- Image -->
<b:if cond='data:blog.postImageThumbnailUrl'>
<meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
<b:elseif cond='data:blog.postImageUrl'/>
<meta expr:content='data:blog.postImageUrl' property='og:image'/>
<b:else/>
<meta content='MY_BLOG_LOGO_URL' property='og:image'/>
</b:if>
<meta expr:content='data:blog.locale' property='og:locale'/>
<!-- OpenGraph ends-->
我的问题是我无法真正获得 post Body,正如 documentation 中所述,即 posts.body
。
哪个data
变量得到current/viewed/availablepost的body/content?
这只是使用描述元标记的一种方式 - 在 <b:includable id='post' var='post'>...</b:if>
内部。
例如:
<b:includable id='post' var='post'>
<b:if cond='data:blog.pageType == "item" or data:blog.pageType == "static_page"'>
<b:if cond='data:blog.metaDescription != ""'>
<meta expr:content='data:blog.metaDescription' name='twitter:description'/>
<meta expr:content='data:blog.metaDescription' property='og:description'/>
<b:else/>
<meta expr:content='data:post.snippet' name='twitter:description'/>
<meta expr:content='data:post.snippet' property='og:description'/>
</b:if>
</b:if>
...Other code...
</b:includable>
此外,您可以使用 <meta expr:content='data:blog.locale' property='og:locale'/>
作为语言标签。
在 body
标签内植入开放图是无效的,不是正确的做法。元标记应在 head
标记内。 Facebook 也不会在 body
中考虑它。
请参考这些链接:
您可以使用 data:view.description
来获取 head
标签中每个 post 的片段。
<!-- Description -->
<meta expr:content='data:view.description' property='og:description'/>
您应该在编辑 post 时在 搜索描述 字段中添加一个片段。
我在我的博主博客中插入了代码,这样它就可以自动创建 the Open Graph protocol 片段,例如,被许多社交媒体网站使用。
我看到很多源代码,但 none 似乎工作得很好。
这是我写的,我在博客模板中插入到标记 </head>
之前。除了在 属性 og:description
上,它工作得很好。我还想将 post 内容作为描述。
<!-- OpenGraph starts-->
<meta content='article' property='og:type'/>
<meta expr:content='data:blog.title' property='og:site_name'/>
<!-- Title and URL -->
<meta expr:content='data:blog.pageName' property='og:title'/>
<meta expr:content='data:blog.canonicalUrl.https' property='og:url'/>
<!--Description-->
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' property='og:description'/>
<b:elseif cond='data:post.snippet'/>
<meta expr:content='data:post.snippet' property='og:description'/>
<b:else/>
<meta expr:content='data:I_WANT_THE_POST_BODY' property='og:description'/>
</b:if>
<!-- Image -->
<b:if cond='data:blog.postImageThumbnailUrl'>
<meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
<b:elseif cond='data:blog.postImageUrl'/>
<meta expr:content='data:blog.postImageUrl' property='og:image'/>
<b:else/>
<meta content='MY_BLOG_LOGO_URL' property='og:image'/>
</b:if>
<meta expr:content='data:blog.locale' property='og:locale'/>
<!-- OpenGraph ends-->
我的问题是我无法真正获得 post Body,正如 documentation 中所述,即 posts.body
。
哪个data
变量得到current/viewed/availablepost的body/content?
这只是使用描述元标记的一种方式 - 在 <b:includable id='post' var='post'>...</b:if>
内部。
例如:
<b:includable id='post' var='post'>
<b:if cond='data:blog.pageType == "item" or data:blog.pageType == "static_page"'>
<b:if cond='data:blog.metaDescription != ""'>
<meta expr:content='data:blog.metaDescription' name='twitter:description'/>
<meta expr:content='data:blog.metaDescription' property='og:description'/>
<b:else/>
<meta expr:content='data:post.snippet' name='twitter:description'/>
<meta expr:content='data:post.snippet' property='og:description'/>
</b:if>
</b:if>
...Other code...
</b:includable>
此外,您可以使用 <meta expr:content='data:blog.locale' property='og:locale'/>
作为语言标签。
在 body
标签内植入开放图是无效的,不是正确的做法。元标记应在 head
标记内。 Facebook 也不会在 body
中考虑它。
请参考这些链接:
您可以使用 data:view.description
来获取 head
标签中每个 post 的片段。
<!-- Description -->
<meta expr:content='data:view.description' property='og:description'/>
您应该在编辑 post 时在 搜索描述 字段中添加一个片段。