【问题标题】:How can I retrieve a variable from a function?如何从函数中检索变量?
【发布时间】:2021-05-28 19:09:49
【问题描述】:

我知道互联网上有一些关于如何实现这一点的项目,但我无法让它发挥作用...... 谁能指出我正确的方向?

我目前有两个功能。我想在 function2 中使用来自 function1 的变量 ($new_data)。

功能1:

function manipulate_form_submission( $record, $ajax_handler ) {
    $form_name = $record->get_form_settings( 'form_name' );
    $form_data = $record->get( 'fields' );
    
    //change the names of fields before we send them somewhere
    $new_data = array(
        'email'         => isset( $form_data['email']['value'] ) ? $form_data['email']['value'] : '',
        'url'           => isset( $form_data['url']['value'] ) ? $form_data['url']['value'] : ''
    )
}

功能2:

add_action( 'woocommerce_payment_complete', 'so_payment_complete' );
function so_payment_complete( $order_id ){
    $order = wc_get_order( $order_id );
    $response = wp_remote_post( 'https://mywebsite.com/insert_values.php', array( 'body' => $new_data) );
    
}

提前致谢!

【问题讨论】:

  • 我想你可以在这里使用update_optionget_option。有很多可能的方法可以做到这一点。现在它也取决于你的逻辑实现
  • 两个函数之间有什么共同的价值吗?如果是,那么您可以将其用作两个函数中的动态选项键

标签: php wordpress function variables


【解决方案1】:

只需像这样在两个函数之外初始化变量:

<?php
$new_data = false;
function manipulate_form_submission( $record, $ajax_handler ) {
    global $new_data;
    $new_data = "New value";
}
function so_payment_complete( $order_id ){
    // The variable is accessible here
    global $new_data;
    echo $new_data;
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多