Возможна ли эта вставка в function: author meta в другую строку?

Мне нужен совет. Разработчик плагина предоставил мне следующий код, чтобы вставить форму пожертвования в единый шаблон сообщения, но мне нужен адрес PayPal для автоматического ввода адреса электронной почты автора сообщения через метаданные автора. Это возможно?

function multiple_paypal_accounts( $paypal_args, $payment_data ) {
    $form_id = isset( $payment_data['post_data']['the-form-id'] ) ? $payment_data['post_data']['the-form-id'] : '';
    if('3830' === $form_id ) {
        // Here I want to customize the email address to show the post author's paypal email address
        $paypal_args['business'] = 'THIS IS WHERE I NEED TO PULL IN THE PAYPAL ADDRESS FROM AUTHOR META DATA';
    }
    // Always return the paypal args.
    return $paypal_args;
}
add_filter( 'the_form_paypal_redirect_args', 'multiple_paypal_accounts', 10, 2 );

person Interested User    schedule 15.11.2017    source источник
comment
мое предположение было бы таким: global $post; $author_id=$post-›post_author; $author_email = get_the_author_meta('электронная почта', $author_id );   -  person Stender    schedule 15.11.2017


Ответы (1)


Если я понимаю вопрос, формы принимают параметры GET и POST, и, судя по всему, переменная $payment_data используется следующим образом: $payment_data['post_data'][?]. Это, кажется, потенциально содержит эту информацию. $payment_data['post_data']['email'] было бы смелым предположением, но может быть неверным.

Если бы это было правильно, вы можете присвоить слева так: $paypal_args['business'] = $payment_data['post_data']['email'];

Если нет, вы можете выполнить var_dump() из $payment_data['post_data'], чтобы узнать, какое содержимое может содержать эта переменная. Подробнее об этом: http://php.net/manual/en/function.var-dump.php

person Marcus Price    schedule 15.11.2017