猿问

动态生成Facebook Open Graph元标记

就像标题所暗示的那样,我正在尝试动态生成Facebook Open Graph元标记,但无法使其正常工作。可能吗?


更新:

最终,我在@saccharine的帮助下使其工作。以下代码为我工作:


<?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" 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>

我现在放入Facebook调试器中的url可以包含任何动态参数,甚至可以不包含任何动态参数,甚至可以包括所有选择,也可以仅包含选择,并且可以按如下顺序进行:

http : //mysite.com/index.php?type=restaurant&title= luigis

收到一只叮咚
浏览 515回答 3
3回答
随时随地看视频慕课网APP
我要回答