首頁  >  文章  >  後端開發  >  如何動態產生 Facebook Open Graph 元標籤?

如何動態產生 Facebook Open Graph 元標籤?

Barbara Streisand
Barbara Streisand原創
2024-10-22 23:58:29128瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn