Попробуйте объявить переменную вне какой-либо функции.Также используйте ключевое слово 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>';
}
}