如何動態產生 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學習者快速成長!