将 ACF 字段传递给简码
Passing ACF Field To Shortcode
我目前正在创建一个小插件,它只制作自定义 post 类型。我想添加一个短代码,可以轻松地将音频播放器放在页面上。 MP3 的 URL 可以根据 post 更改,我正在使用高级自定义字段 (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" 有什么想法吗?
我相信您只需要正确连接字符串即可:
$output .= $mp3url;
或者将最后三行合并为一行:
$output .= '<audio src="' . $mp3url . '" preload="auto" />';
我目前正在创建一个小插件,它只制作自定义 post 类型。我想添加一个短代码,可以轻松地将音频播放器放在页面上。 MP3 的 URL 可以根据 post 更改,我正在使用高级自定义字段 (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" 有什么想法吗?
我相信您只需要正确连接字符串即可:
$output .= $mp3url;
或者将最后三行合并为一行:
$output .= '<audio src="' . $mp3url . '" preload="auto" />';