WordPress: вывод пользовательских данных user_meta в уведомлении о регистрации

В WordPress у меня есть пользовательский сайт регистрации для новых пользователей. После регистрации есть дополнительный флажок, чтобы подписаться на нашу рассылку. Насколько я понимаю, это добавляет значение флажка к таблице user_meta (все это было закодировано компанией в Индии, которую я очень предпочел бы не привлекать снова, так как они откладывали свое рабочее время и время снова и не сделал хорошую работу в конце концов).

Соответствующий фрагмент кода в functions.php моей дочерней темы выглядит так:

<?php echo '<div class="form-row form-row-wide">
<input type="checkbox" name="inter_offers" value="yes"> '; _e('I would like to subscribe to the Kurth Electronic newsletter.','kurth-child'); echo '<br></div>';
return $fields; ?>

add_action('woocommerce_created_customer','adding_extra_reg_fields');
function adding_extra_reg_fields($user_id) {
extract($_POST);
update_user_meta($user_id, 'billing_inter_offers',$inter_offers);
} ?>

(Я пропустил строки, не относящиеся к этой проблеме.)

Теперь это значение сохраняется внутри, но не отображается для меня. Я хотел бы показать значение в электронном письме или уведомлении, сгенерированном WordPress, когда пользователь завершает регистрацию, чтобы мы могли вручную добавить их в наш список рассылки всякий раз, когда кто-то решит подписаться на рассылку. Проблема в том, что у меня ограниченные знания PHP, и я не знаю, с чего начать.

Следует также отметить, что это делается не через стандартную регистрационную форму WorPress, а через регистрационную форму WooCommerce (я отключил стандартную регистрацию WordPress по соображениям безопасности).

Я пытался использовать плагин «Better Notifications» (https://wordpress.org/plugins/bnfw/) для пользовательских уведомлений всякий раз, когда новый пользователь завершает свою регистрацию, но игнорирует любой php-код, который я добавляю в тело пользовательских уведомлений для отображения данных user_meta.

Любая помощь будет оценена.

0

Решение

Поскольку регистрация выполняется через woocomerce, вам, возможно, придется искать плагин уведомлений, который работает с woocomerce, тот, который у вас есть, может просто корректно работать с версией WordPress Core!

Вы также можете генерировать почту через php в функции, так что вы получите сообщение с почтовым адресом пользователя, но я думаю, что без знания php не так просто использовать встроенный почтовый php … (вам может понадобиться API там!)

Но не лучше ли автоматически подписать их в своем программном обеспечении для рассылки? Например, для Mailchimp или других подобных систем есть неплохие плагины для WordPress!

Вы также можете включить формы этих подключаемых модулей в свою регистрационную форму, но без тщательного изучения этой регистрации woocomerce я не могу сказать наверняка!

0

Другие решения

Я думаю, что это сделает свое дело, оно будет уведомлять вас каждый раз, когда создается новый пользователь, а также сообщать вам, подписались они или нет.

function new_customer_registered_send_email_admin($user_login, $user_email) {
ob_start();
do_action('woocommerce_email_header', 'New customer registered');
$email_header = ob_get_clean();
ob_start();
do_action('woocommerce_email_footer');
$email_footer = ob_get_clean();

$user = get_user_by( 'email', $user_email );
$subscribed = get_user_meta( $user->ID, 'billing_inter_offers', true );

woocommerce_mail(
get_bloginfo('admin_email'),
get_bloginfo('name').' - New customer registered',
$email_header.'<p>The user '.esc_html( $user_login ).' created an account ' . ( $subscribed ? ' and subscribed to the newsletter.' : '.' ) . '<br>Email:'.esc_html( $user_email ).'</p>'.$email_footer
);
}

add_action('new_customer_registered', 'new_customer_registered_send_email_admin', 10, 2);
0

Я в конечном итоге с помощью плагина пользователи amr создать список пользователей всех пользователей, которым для определенного тега метаданных было присвоено определенное значение (в моем случае, если они хотят получать новостную рассылку — предыдущие разработчики никогда не удосужились сделать данные фактически читаемыми без дополнительных усилий). Это немного неуклюже, чтобы использовать и не то, что я первоначально намеревался, но это сделало работу.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector