WP:通过do_shortcode()传递变量?

时间:2018-08-20 22:10:51

标签: php wordpress advanced-custom-fields gravity-forms-plugin

我正在结合使用重力形式和ACF来提取函数中使用的一些数据:

add_action( 'gform_after_submission_2', 'email_form_after_submission', 10, 2 );
function email_form_after_submission( $entry, $form ) {

    $company = $entry[2];
    $name = $entry[20];
    $upload_url = GFFormsModel::get_upload_url( 2 );

    // Send email to contact person
    $to_contact = $entry[8];
    $subject_contact = get_field('email-survey-contact-person_title', 'option');
    $body_contact = do_shortcode(get_field('email-survey-contact-person_content', 'option'));

    …

    wp_mail( $to_contact, $subject_contact, $body_contact, $headers );

}

我还设置了一些短代码,希望通过do_shortcode()函数采取行动。

问题是,我正在尝试从上面粘贴的函数中传递变量,但我似乎无法做到这一点。

function shortcode_document() {

    return $entry[21];

}
add_shortcode( 'document', 'shortcode_document' );

第一个代码段中的get_field()只是一个很大的文本区域,您可以在其中使用这些预定义的短代码,例如[document]

我知道不使用全局变量是没有道理的(我尝试将global $entry放在第一个函数的外面),但是我确信这以前已经奏效。我现在有WordPress 4.9.8。

谢谢您的指导

0 个答案:

没有答案