打开Blogger的Graph协议代码并获取帖子的正文

时间:2018-09-08 18:20:42

标签: blogger

我正在博客博客中插入代码,以便它可以自动创建the Open Graph protocol片段,例如,许多社交媒体网站都使用了这些片段。

我看到了很多源代码,但是似乎没有一个完美地工作。

我写了这个,然后将其插入到博客模板中的标签</head>的前面。除了属性og:description之外,它的工作都很好。我也希望将帖子内容作为说明。

<!-- 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-->

我的问题是我无法真正获得博文,正如documentation中所述,即posts.body

哪个data变量用于获取当前/已查看/可用帖子的正文/内容?

2 个答案:

答案 0 :(得分:3)

body标记中植入开放图是无效的,而不是正确的做法。元标记应位于head标记内。 Facebook也不会在body中考虑它。 请参考以下链接:

您可以改用data:view.descriptionhead标签中获取每个帖子的摘要。

<!-- Description -->
<meta expr:content='data:view.description' property='og:description'/>

在编辑帖子时,您应该在搜索说明字段中添加一个代码段。 Search Description Field

答案 1 :(得分:1)

那只是使用描述元标记的一种方法-在<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'/>用作语言标签。