2014-09-01 72 views
2

我使用主題我的登錄,它是一個很棒的插件。我在很多網站都使用過它。只爲作者應用用戶審覈

現在,在我的一個網站中,我啓用了主題我的登錄的用戶審覈模塊。根據它,當任何新用戶在網站上註冊時,它會受到適當的控制,當管理員批准時,只有他可以成爲網站上的用戶。

所以,我不希望這個功能的用戶。換句話說,我只想爲作者提供這個。

+0

這是你正在處理的一些代碼的問題嗎?如果是這樣,你可以請包括它嗎?謝謝。 – jmort253 2014-09-01 09:30:03

+0

其實我正在使用這個插件,並且這個插件提供了用戶控制部分。但是使用這個控制是爲所有用戶啓用的......我希望這是特定於角色的。我需要這個審稿作者角色。 – WpTricks24 2014-09-01 09:34:47

回答

1

現在我找到了這個問題的解決方案。

把下拉的寄存器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'); 

然後去插件/主題 - my-login/modules/user-moderation/admin/user-moderation-admin.php並查找user_row_actions函數。查找案例「管理員」:並將下面的代碼放入案例開始和其中斷之間;如:

$c_u_r = get_user_meta($user_object->ID, 'pending_role', true); 
         // Add "Approve" link 
         if($c_u_r != 'subscriber'){ 
         $actions['approve-user'] = sprintf('<a href="%1$s">%2$s</a>', 
          add_query_arg('wp_http_referer', 
           urlencode(esc_url(stripslashes($_SERVER['REQUEST_URI']))), 
           wp_nonce_url("users.php?action=approve&user=$user_object->ID", 'approve-user') 
          ), 
          __('Approve', 'theme-my-login') 
         ); 
         }else{ 
          if (! self::approve_user($user_object->ID)) 
          wp_die(__('You can’t edit that user.')); 

         } 

現在用戶審覈不適用於註冊爲訂戶的用戶。修改代碼並以您自己的方式使用它。

這可能有助於某人。

謝謝 Sunil

相關問題