如何动态生成 Facebook Open Graph 元标签?

Barbara Streisand
发布: 2024-10-22 23:58:29
原创
127 人浏览过

How Do You Dynamically Generate Facebook Open Graph Meta Tags?

生成动态 Facebook Open Graph 元标签

如标题所示,可以动态生成 Facebook Open Graph 元标签。通过将动态元素合并到元标记中,您可以优化内容在 Facebook 平台上的呈现。

如何实现动态元标记生成

动态生成元标记,您需要在网页的 HTML 代码中包含 PHP 代码。此代码应使用数据库或其他来源的相关信息填充元标记。例如,您可以使用 GET 或 POST 参数将动态数据传递到网页,然后将该数据合并到元标记中。

示例实现

如图所示,以下是如何动态生成 Facebook Open Graph 元标记的示例:

<code class="php"><?php

$params = array();
if(count($_GET) > 0) {
    $params = $_GET;
} else {
    $params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "restaurant";
if($params['locale'] == "") $params['locale'] = "en_US";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "thumb";
if($params['description'] == "") $params['description'] = "default description";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#">
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

        <!-- Open Graph meta tags -->
        <meta property="fb:app_id" content="MY_APP_ID" />
        <meta property="og:site_name" content="meta site name"/>
        <meta property="og:url" content="http://mysite.com/index.php?type=<?php echo $params['type']; ?>&amp;locale=<?php echo $params['locale']; ?>&amp;title=<?php echo $params['title']; ?>&amp;image=<?php echo $params['image']; ?>&amp;description=<?php echo $params['description']; ?>"/>
        <meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/>
        <meta property="og:locale" content="<?php echo $params['locale']; ?>"/>
        <meta property="og:title" content="<?php echo $params['title']; ?>"/>
        <meta property="og:image" content="http://mysite.com/img/<?php echo $params['image']; ?>.png"/>
        <meta property="og:description" content="<?php echo $params['description']; ?>"/>

    </head>
</html></code>
登录后复制

在此示例中,元标记使用从 GET 或 POST 参数获取的值填充。通过使用不同的参数组合访问网页,您可以动态更改元标记内容。

Facebook Actions 的用法示例

通过动态生成的元标记,您可以发布对用户 Facebook 流的操作。例如,以下代码使用 PHP 发布“吃午饭”动作:

<code class="php">function postRestaurant() {
    FB.api('me/MY_APP_NAMESPACE:have_lunch?\
    start_time=2000-12-12T04:00:00&amp;\
    expires_in=7200&amp;\
    restaurant=' + encodeURIComponent(getRedirectURI() + '?type=restaurant' + '&amp;description=arnold' + '&amp;title=stalone'), 'post', function (response) {
        if (!response || response.error) {
            console.log('postRestaurant: Error occured => ' + response.error.message);
        } else {
            console.log('postRestaurant: Post was successful! Action ID: ' + response.id);
        }
    });
}</code>
登录后复制

在此代码中,“餐厅”参数是根据网页上的元标记动态生成的。通过自定义元标签,您可以在 Facebook 操作中提供更多相关信息。

以上是如何动态生成 Facebook Open Graph 元标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!