将 Facebook 开放图谱协议元标签添加到共享点

发布于 2024-11-02 11:47:06 字数 199 浏览 0 评论 0原文

当我在我们的网站 (www.potatopro.com) 上点赞一篇带有 Facebook 点赞和 Facebook 分享按钮的文章时,会获取错误的网站数据。 要么您无法更改图片,要么在其他情况下 Facebook 会获取导航而不是内容。

据我了解,我必须在我们的网站上实施 Facebook 的开放图协议元标签。但是对于基于共享点的网站我该如何做到这一点?请指教!

When I like an article on our website (www.potatopro.com) with a Facebook like and a facebook sharebutton the wrong website data is being fetched.
Either you are not able to change the picture or in the other case facebook fetches the navigation instead of the content.

To my understanding I have to implement facebook's open graph protocol meta-tags on our site. But how do I do that for a sharepoint based website?! Please advice!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫瑾少女 2024-11-09 11:47:06

您可以将 Web 部件添加到页面正在使用的页面布局中。在 Web 部件中,您添加一个函数,用于查找页面上的标题、内容和图像,并将元标记写入页面正在使用的母版页。这是该函数的示例...

protected override void Render(HtmlTextWriter writer)
    {
        if (SPContext.Current != null && SPContext.Current.ListItem != null)
        {
            SPListItem item = SPContext.Current.ListItem;
            var title = item["Title"];
            if (title != null)
            {
                writer.WriteBeginTag("meta");
                writer.WriteAttribute("property", "og:title");
                writer.WriteAttribute("content", title.ToString());
                writer.WriteEndTag("meta");
            }
            var pageContent = item["PublishingPageContent"];
            if (pageContent != null)
            {
                string strippedPageContent = Regex.Replace(pageContent.ToString(), @"<(.|\n)*?>", string.Empty);
                    writer.WriteBeginTag("meta");
            writer.WriteAttribute("property", "og:description");
            writer.WriteAttribute("content", strippedPageContent);
            writer.WriteEndTag("meta");
            }

            var pageImage = item["PublishingPageImage"];
            if (pageImage != null)
            {
                ImageFieldValue pageImageValue = pageImage as ImageFieldValue;
                if (pageImageValue != null)
                {
                    var url = pageImageValue.ImageUrl;
                    writer.WriteBeginTag("meta");
                    writer.WriteAttribute("property", "og:image");
                    writer.WriteAttribute("content", url);
                    writer.WriteEndTag("meta");
                }
            }

        }
    }

You can add a webpart to the pagelayout that your page is using. In the webpart you add a function that finds the title, content and image on the page and writes metatags to the masterpage that the page is using. Here is an example of the function...

protected override void Render(HtmlTextWriter writer)
    {
        if (SPContext.Current != null && SPContext.Current.ListItem != null)
        {
            SPListItem item = SPContext.Current.ListItem;
            var title = item["Title"];
            if (title != null)
            {
                writer.WriteBeginTag("meta");
                writer.WriteAttribute("property", "og:title");
                writer.WriteAttribute("content", title.ToString());
                writer.WriteEndTag("meta");
            }
            var pageContent = item["PublishingPageContent"];
            if (pageContent != null)
            {
                string strippedPageContent = Regex.Replace(pageContent.ToString(), @"<(.|\n)*?>", string.Empty);
                    writer.WriteBeginTag("meta");
            writer.WriteAttribute("property", "og:description");
            writer.WriteAttribute("content", strippedPageContent);
            writer.WriteEndTag("meta");
            }

            var pageImage = item["PublishingPageImage"];
            if (pageImage != null)
            {
                ImageFieldValue pageImageValue = pageImage as ImageFieldValue;
                if (pageImageValue != null)
                {
                    var url = pageImageValue.ImageUrl;
                    writer.WriteBeginTag("meta");
                    writer.WriteAttribute("property", "og:image");
                    writer.WriteAttribute("content", url);
                    writer.WriteEndTag("meta");
                }
            }

        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文