OG:Audio facebook meta tags

时间:2013-05-12 作者:shawn merrihew

有人知道如何将附加的音频文件URL填充到元元素中吗?正如你会选择图片或其他东西一样,我尝试了以下内容:

<meta property="og:audio" content="<?php $meta_values = get_post_custom($post->ID);
if(isset($meta_values[\'meta_audio_attachment\'][0])){ $url =$meta_values[\'meta_audio_attachment\'][0]; } ?>" />
<meta property="og:audio:title" content="Test" />
<meta property="og:audio:artist" content="Test" />
<meta property="og:audio:album" content="Test Album" />
<meta property="og:audio:type" content="application/mp3" />
Facebook会填充除音频url之外的所有其他meta?

1 个回复
SO网友:brasofilo

您可能在主题的header.php. 加载此文件时$post 还不可用(将在循环中)。所以你需要先申报global $post;.

但这不是最好的办法。如果你交换主题,什么?再来一次
请参见:Where to put my code: plugin or functions.php?

使用以下插件,我们将wp_head 并根据一些Conditional Tags:

<?php
/* Plugin Name: Print Audio OG */

add_action( \'wp_head\', \'print_audio_og_wpse_99152\', 0 );

function print_audio_og_wpse_99152()
{
    // Print only in single posts or pages
    if( is_single() || is_page() )
    {
        global $post;
        $meta_value = get_post_meta( $post->ID, \'meta_audio_attachment\', true );
        if( $meta_value )
            echo "
<meta property=\'og:audio\' content=\'$meta_value\' />
<meta property=\'og:audio:title\' content=\'$post->post_title\' />
<meta property=\'og:audio:artist\' content=\'Test\' />
<meta property=\'og:audio:album\' content=\'Test Album\' />
<meta property=\'og:audio:type\' content=\'application/mp3\' />
";
    }
}
你必须适应get_post_meta.<现在增加挂钩优先级0 (零),以在呈现的HTML中移动插入点。

结束