我正在尝试调用音频快捷码中的自定义术语元字段,该快捷码已放置在我正在处理的自定义页面上。该字段包含指向的链接。已上载到媒体库的mp3文件。我有一个IF语句,它只会显示音频播放器以及文本“audio”,如果该字段实际上包含指向音频文件的链接。然而,前端没有显示任何内容,即使在该领域有链接。
我在字段上进行了var\\u转储,并输出:
string(95) "echo do_shortcode([audio src="http://www.foo.com/wp-content/uploads/2018/07/audio.mp3"])"
这是我目前在函数中拥有的代码。php:
function first_audio() {
$terms = get_the_terms($post->ID, \'firstb\');
$result = "";
if (is_array($terms) || is_object($terms)){
foreach ($terms as $term) {
$term_id = $term->term_id;
$result .= \'echo do_shortcode([audio src="\'. get_term_meta($term_id, \'audioreco_64856\', true) .\'"])\';
}
}
if (!empty(get_term_meta($term_id, \'audioreco_64856\', true))) {
return $result;}
}
下面是我页面上的代码:
$first_audio = first_audio();
if (!empty($first_audio)) { ?>
<p><?php first_audio(); ?></p>
<?php }
?>
我也试着回应
first_audio();
但这只是重复了整个链接,就像
var_dump
做
最合适的回答,由SO网友:Aparna_29 整理而成
更换以下行
$result .= \'echo do_shortcode([audio src="\'. get_term_meta($term_id, \'audioreco_64856\', true) .\'"])\';
使用
$result .= do_shortcode(\'[audio src="\'. get_term_meta($term_id, \'audioreco_64856\', true) .\'"]\');
回显函数结果
<p><?php echo first_audio(); ?></p>