将ACF字段传递给短代码

时间:2016-01-13 19:18:22

标签: php wordpress advanced-custom-fields

我目前正在创建一个只生成自定义帖子类型的小插件。我想添加一个可以轻松将音频播放器放在页面上的短代码。 MP3的URL可以在每个帖子中更改,我使用高级自定义字段(ACF)来获取用户的URL。如何将URL字段传递给短代码?这是我的短代码功能:

// Add A Shortcode for the MP3 Player
function sermon_audio_shortcode() {
    // Code
    $output = '<script>';
    $output .= 'audiojs.events.ready(function() {';
    $output .= 'var as = audiojs.createAll();';
    $output .= '});';
    $output .= '</script>';

    $mp3url = get_field('f1sermon_mp3_url');

    $output .= '<audio src="';
    $output .= 'echo $mp3url';
    $output .= '" preload="auto" />';

    return $output;
}
add_shortcode( 'sermon-audio', 'sermon_audio_shortcode' );

我只试过$output .= echo $mp3url;,但这也不正确。短代码工作正常,但URL只是“echo $ mp3url”任何想法?

1 个答案:

答案 0 :(得分:2)

我相信你只需要正确地连接你的字符串:

$output .= $mp3url;

或者将最后三行合并为一行:

$output .= '<audio src="' . $mp3url . '" preload="auto" />';