生成动态 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']; ?>&locale=<?php echo $params['locale']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&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&\ expires_in=7200&\ restaurant=' + encodeURIComponent(getRedirectURI() + '?type=restaurant' + '&description=arnold' + '&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中文网其他相关文章!