2014-09-11 3 views
0

Я использую тему моей функции модерирования пользовательских плагинов с помощью разрешения администратора. Я хочу изменить роль пользователя от ожидающего до моего определенного после того, как администратор одобрит пользователя. Я использую этот крючок и он не работает, код ниже:tml_new_user_activated hook not working

function set_role_on_activation($user_id) { 
echo "<script>alert('hello');</script>"; 
} 

add_action('tml_new_user_activated', 'set_role_on_activation'); 

Пожалуйста, помогите

ответ

0

я найти решение без использования этого крючка. Просто поместите ниже упомянутый код на регистр-form.php как:

<p> 
     <label for="role<?php $template->the_instance(); ?>"><?php _e('Role', 'theme-my-login') ?></label> 
     <select id="role<?php $template->the_instance(); ?>" name="role"> 
    <option value="author">Author</option> 
    <option value="subscriber">Subscriber</option> 
</select> 
</p> 

затем поместить функцию в function.php как:

function set_role_on_registration($user_id) { 

    //$role = sanitize_text_field($_POST['role']); 
    $role = $_POST['role']; 

    if (in_array($role, array($role, 'bprofessional'))) 
     add_user_meta($user_id, 'pending_role', $role); 
} 
add_action('tml_new_user_registered', 'set_role_on_registration'); 

затем перейти к плагинам/тема-моему-вход/модулей /user-moderation/admin/user-moderation-admin.php и найдите функцию approve_user. Затем замените эту строку кода:

$approval_role = apply_filters('tml_approval_role', get_option('default_role'), $user->ID); 

По этой линии:

$approval_role = apply_filters('tml_approval_role', get_user_meta($user->ID, 'pending_role', true), $user->ID); 

Теперь пользователь будет назначен роль вашего выбора после утверждения администратора.

Надеюсь, этот код поможет кому-то.

Thanks Sunil