ホームページ >バックエンド開発 >PHPチュートリアル >Facebook Open Graph メタタグを動的に生成するにはどうすればよいですか?

Facebook Open Graph メタタグを動的に生成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-22 23:58:29229ブラウズ

How Do You Dynamically Generate Facebook Open Graph Meta Tags?

動的 Facebook オープン グラフ メタ タグの生成

タイトルが示すように、Facebook オープン グラフ メタ タグを動的に生成することができます。動的要素をメタ タグに組み込むことで、Facebook プラットフォームでのコンテンツのプレゼンテーションを最適化できます。

動的メタ タグの生成を実現する方法

動的に生成するにはメタ タグを使用するには、Web ページの HTML コード内に PHP コードを含める必要があります。このコードは、データベースまたは他のソースからの関連情報をメタ タグに入力する必要があります。たとえば、GET または POST パラメータを使用して動的データを Web ページに渡し、そのデータをメタ タグに組み込むことができます。

実装例

例として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 パラメータから取得した値が設定されます。さまざまなパラメータの組み合わせで Web ページにアクセスすると、メタ タグのコンテンツを動的に変更できます。

Facebook アクションの使用例

動的に生成されたメタ タグを使用すると、メタ タグを公開できます。ユーザーの 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>

このコードでは、Web ページのメタ タグに基づいて「レストラン」パラメータが動的に生成されます。メタ タグをカスタマイズすると、Facebook アクションでより関連性の高い情報を提供できます。

以上がFacebook Open Graph メタタグを動的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。