Доступ к переменной одной функции в другой функции - PullRequest
0 голосов
/ 19 апреля 2019

Я объявил глобальную переменную в первой функции и пытаюсь получить доступ к этой переменной во второй функции.Но это не работает.Имя переменной $unique_code.

add_action( 'woocommerce_email_before_order_table', 'laksh_add_content_specific_email', 20, 4 );
function laksh_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
    global $unique_code;
    $unique_code = mt_rand(100000, 999999);
}

add_action( 'woocommerce_email_after_order_table', 'laksh_add_content_specific_email2', 20, 4 );
function laksh_add_content_specific_email2( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_processing_order' ) {
        echo '<h2 class="email-upsell-title">Redeem Code</h2>';
        echo '<p class="email-upsell-p"><strong>' . $unique_code . '</strong></p>';
        echo '<p class="email-upsell-p">Please show this code at the reception when you visit us to redeem your gift card.</p>';
    }
}

1 Ответ

1 голос
/ 19 апреля 2019

Попробуйте объявить переменную вне какой-либо функции.Также используйте ключевое слово global в обеих функциях.Кроме того, убедитесь, что laksh_add_content_specific_email вызывается до laksh_add_content_specific_email2.

$unique_code = 0;

add_action( 'woocommerce_email_before_order_table', 'laksh_add_content_specific_email', 20, 4 );
function laksh_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
    global $unique_code;
    $unique_code = mt_rand(100000, 999999);
}

add_action( 'woocommerce_email_after_order_table', 'laksh_add_content_specific_email2', 20, 4 );
function laksh_add_content_specific_email2( $order, $sent_to_admin, $plain_text, $email ) {
    global $unique_code;

    if ( $email->id == 'customer_processing_order' ) {
        echo '<h2 class="email-upsell-title">Redeem Code</h2>';
        echo '<p class="email-upsell-p"><strong>' . $unique_code . '</strong></p>';
        echo '<p class="email-upsell-p">Please show this code at the reception when you visit us to redeem your gift card.</p>';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...