我在WordPress环境中有一个动态生成的页面。此页面使用简单的短代码,没有参数,但该页面通过另一个页面启动并传递URL参数。此参数指示要在页面上显示的数据集。很好用,但。。。。。
页面上的共享工作正常。该链接正确共享位置,并与URL参数共享,打开时会显示正确的信息。但我希望图像、描述和名称与默认页面不同。
经过一些工作和StackExchange上其他人的帮助,我成功地用facebook必需的元字段更改了标题,并确认了它们的存在。
首先是页面标题:
add_filter(\'document_title_parts\',\'ChangeTitleParts\', 10, 1);
function ChangeTitleParts($TitleParts)
{
if ( isset( $TitleParts[ \'title\' ] ) && $TitleParts[ \'title\' ] == \'Details\' )
$TitleParts[ \'title\' ] = $_GET[ \'Name\' ];
return $TitleParts;
}
然后更改标头中的元值:
add_action( \'wp_head\', \'add_custom_meta\', 10 );
function add_custom_meta()
{
$slug = basename(get_permalink());
if( $slug == \'details\')
{
$Name = $_GET[ \'Name\' ];
$Desc = $_GET[ \'Desc\' ];
$Logo = $_GET[ \'Logo\' ];
?>
<meta property="og:title" content="<?php echo $Name; ?>>"/>
<meta property="og:description" content="<?php echo $Desc; ?>">
<meta property="og:image" content="<?php echo $Logo; ?>">
<?PHP
}
}
facebook元属性如下:
<meta property="og:title" content="Facebook Open Graph Demo">
<meta property="og:image" content="http://example.com/main-image.png">
<meta property="og:site_name" content="Example Website">
<meta property="og:description" content="Here is a nice description">
问题是,facebook拒绝显示标题、描述或相关的iamge,即使标题中包含必需的元数据。我做错了什么?