0

我正在尝试使用简码来显示 Ultimate Member 表单,我遇到的问题是简码的输出始终显示在页面顶部,而不是我放置简码的位置。

我认为只要调用简码而不返回它,它就会输出 acf_form(settings) 。

function op_profile_skills_func (){
    $form = acf_form($settings);
    return $form; 
}
add_shortcode('op_profile_skills', 'op_profile_skills_func');

不知道我做错了什么,有什么想法吗?我试过回声。

4

1 回答 1

1

如您所想,该函数正在打印表单而不是返回它。

您可以做的是使用输出缓冲区捕获输出:

function op_profile_skills_func (){
    ob_start();
    acf_form($settings);
    $form = ob_get_clean();
    return $form; 
}

在startclean之间回显或打印的所有内容都将被收集并传递给$form.

于 2021-02-20T01:32:21.770 回答