将 ACF 字段传递给简码
Posted
技术标签:
【中文标题】将 ACF 字段传递给简码【英文标题】:Passing ACF Field To Shortcode 【发布时间】:2016-04-18 22:19:49 【问题描述】:我目前正在创建一个只制作自定义帖子类型的小插件。我想添加一个简码,可以轻松地在页面上放置音频播放器。 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】:我相信你只需要正确连接你的字符串:
$output .= $mp3url;
或者将最后三行合二为一:
$output .= '<audio src="' . $mp3url . '" preload="auto" />';
【讨论】:
$output .= $mp3url;
工作。我不知道为什么我没有想到放弃echo
,我猜今天的咖啡不够。谢谢!以上是关于将 ACF 字段传递给简码的主要内容,如果未能解决你的问题,请参考以下文章