将 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 字段传递给简码的主要内容,如果未能解决你的问题,请参考以下文章

为 Slick Slider 和 ACF 创建简码

ACF 默认值中的简码仅在保存帖子后才有效

从 WooCommerce 购物车中的产品中获取 ACF 图像字段的数据

将 ACF 字段添加到搜索结果页面 WordPress

将高级自定义字段添加到 WooCommerce 产品变体

将 ACF 字段插入 CSS 伪元素