我使用会话值来设置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.
问题是什么?
答案 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'; ?>"/>