动态内容og:title Facebook元标记

时间:2012-08-01 01:27:25

标签: php session facebook-opengraph

我使用会话值来设置facebook元标记的内容:

<meta property="og:title" content="<?php print $_GET['p']; ?>"/>

当我查看网站的来源时,html如下所示:

<meta property="og:title" content="Alex Atalla"/>

表示在标题元标记的内容中成功填充了会话值的值。

但是当我使用facebook调试器时,它会说:

Object Missing a Required Value:    Object at URL 'http://www.palestinianz.com/' of type 'website' is invalid because a required property 'og:title' of type 'string' was not provided.

问题是什么?

2 个答案:

答案 0 :(得分:1)

设置默认值

if(!isset($_GET['p'])){
$value = 'default value';
}else{
$value = $_GET['p'];
}

<meta property="og:title" content="<?php echo $value; ?>"/>

默认值将出现在您的主页OG

答案 1 :(得分:0)

嗯,当然他没有填写http://www.palestinianz.com/,因为og:title正在填充URL中的p参数(GET ['p'])。如果我访问http://www.palestinianz.com/?p=Tivie,则og:title会被“Tivie”填充。

如果这是所需的效果,则将调试器指向个人页面。 http://www.palestinianz.com/?p=Alex-Atalla或其他什么。

编辑: 我想我明白你要做什么。 如果你不介意我的建议......

将您的代码更改为:

<meta property="og:title" content="<?php print (isset($_GET['p'])) ? $_GET['p'] : 'They Are Palestinians'; ?>"/>

然后阅读Apache Mod Rewrite