WordPress Create User – The Management

WordPress Create User – WordPress में एक Built-In User Interface होता है, जिसका प्रयोग करते हुए हम नया User Create, Update या Delete कर सकते हैं। फिर भी कई बार हमें ऐसा Plugin Create करने की जरूरत पडती है, जो WordPress के Built-In User Interface के अलावा Outside से User को Handle करने की सुविधा Provide करता है और इस प्रकार का Plugin Design करने के लिए WordPress हमें कुछ और API Function Provide करता है।

wp_insert_user() API Function

ये API Function एक नए User को WordPress Database के Users Table में Insert करता है। साथ ही इसी Function का प्रयोग करके हम किसी पहले User के Data को Update भी कर सकते हैं। ये Function $userdata Parameter के रूप में एक Single Argument Accept करता है।

ये Parameter Arguments का एक Array होता है, जो $wpdb->userswpdb->usermeta Tables में किसी Specific User Related Data को Insert करने का काम करता है। इस $userdata Parameter में Specify किए जा सकने वाले विभिन्न Options का Description निम्नानुसार है:

ID Option

ये Current User के ID को Represent करता है। हमें इस Option को तभी Specify करना होता है, जब हम किसी पहले से Registered User के Data को Update कर रहे होते हैं, जिसका User ID हमें पहले से पता होता है। जबकि User ID, WordPress द्वारा स्वयं ही Internally व Automatically Create किया जाता है।

user_pass Option

इस Option में Newly Create होने वाले User Account का Password होता है, जिसे Login करते समय Specify करना होता है। इस Option के साथ pre_user_pass नाम का Filter Associated रहता है।

user_login Option

ये Option Newly Create होने वाले User का Username होता है, जिसे Login करते समय Specify करना होता है। इसका Unique होना जरूरी होता है, अन्‍यथा ये API Function Error Return करता है। इस Option के साथ pre_user_login नाम का Filter Associated रहता है।

user_nicename Option

ये Option एक Alternative Name को Represent करता है, जिसे Permalinks जैसे Special प्रकार की जरूरतों को पूरा करते समय Use किया जाता है। जबकि Default रूप से इस Option में वही मान होता है, जो user_login Option में होता है। इस Option के साथ pre_user_nicename नाम का Filter Associated रहता है।

user_url Option

ये Option में User की Personal Website का Address होता है। इस Option के साथ pre_user_url नाम का Filter Associated रहता है।

user_email Option

ये Option में User का Personal Email Address होता है। ये एक Compulsory रूप से Required Argument होता है और यदि इसे Specify न किया जाए अथवा पहले से Exist Email Address को फिर से Specify किया जाए, ये API Function एक Error Return करता है। इस Option के साथ pre_user_email नाम का Filter Associated रहता है।

display_name Option

ये Option उस नाम को Represent करता है, जिसे User के सामने Display किया जाता है। इस Option के साथ pre_user_display_name नाम का Filter Associated रहता है।

nickname Option

ये Option User के Nickname को Represent करता है। Default रूप से इसमें वही नाम होता है जो user_login Argument में होता है। इस Option के साथ pre_user_nickname नाम का Filter Associated रहता है।

first_name Option

ये Option User के First Name को Represent करता है। इस Option के साथ pre_user_first_name नाम का Filter Associated रहता है।

last_name Option

ये Option User के Last Name को Represent करता है। इस Option के साथ pre_user_last_name नाम का Filter Associated रहता है।

description Option

ये Option User के Bio-Graphical Information को Represent करता है। इस Option के साथ pre_user_description नाम का Filter Associated रहता है।

rich_editing Option

ये Option इस बात को निश्चित करता है कि WordPress में New Post/Page Create करते समय Rich-Text Editor को Show करना है या नहीं। Default रूप से इसका मान true होता है।

user_registered Option

ये Option, Newly Registered User के Registration के Current Date and Time को Represent करता है। इस Option को WordPress द्वारा स्वयं ही Automatically Internally Set किया जाता है।

role Option

ये Option Register होने वाले Current User के Role को Specify करता है। जबकि Default रूप से हर नए User को क्‍या Role Set किया जाएगा, इस बात को WordPress Administrator स्वयं WordPress के Settings Panel द्वारा तय करता है।

admin_color Option

ये Option Administration Area के Color Scheme को Represent करता है।

content_shortcuts Option

ये Option इस बात को निश्चित करता है कि क्‍या User Comment Moderating के लिए Keyboard Shortcuts का प्रयोग कर सकता है या नहीं। सामान्‍यत: Default रूप से इसमें false Stored रहता है।

इनके अलावा jabber, aim, yim जैसे कुछ और Options भी हो सकते हैं, जो क्रमश: User के Jabber Account, AOL IM Account व Yahoo IM Account को Represent करते हैं।

जब हम इस API Function को Use करते हैं, तब मुख्‍य रूप से ध्‍यान रखने वाली एक बात ये होती है कि यदि हम इस API Function में ID Value Pass करते हैं, तो उस ID से Associated User के Data को Update किया जाता है जबकि यदि हम इस ID Specify नहीं करते, तो WordPress स्वयं एक नए ID के साथ एक नया User Register करता है। हालांकि निम्न User Meta Files तभी Update होते हैं, जब इन्हें Specify किया जाता है जबकि Specify न करने की स्थिति में ये Default रूप से null Value से Set हो जाते हैं:

first_name,
last_name,
nickname,
description,
rich_editing,
comment_shortcuts,
admin_color,
use_ssl,
show_admin_bar_front

साथ ही जब हम user_pass Option में Password Specify करते हैं, तब उस Password का एक Hashed Password होना जरूरी होता है। यानी हम एक Plain Text Password को इस Option में Specify नहीं कर सकते।

WordPress 3.5 व बाद के Versions से हम इस API Function में Parameter के रूप में stdClass या WP_User Object को भी Pass कर सकते हैं। ये Function Internally $wpdb नाम की WordPress Database Layer को Use करता है।

जब हम किसी User ID को Specify करते हुए Profile Update करने के लिए इस API Function को Call करना चाहते हैं, तब “profile_update” Action Hook Use होता है, जबकि जब हम User ID Specify करते हुए नया User Create करने के लिए इस API Function को Call करना चाहते हैं, तब “user_register” Action Hook Use होता है

जब हम इस API Function को Use करते हुए नया User Register करना चाहते हैं, तब एक बात हमें निश्चित रूप से ध्‍यान में रखनी होती है कि हालांकि हम उपरोक्तानुसार Discussed विभिन्न Options में से जरूरत के अनुसार एक या एक से ज्यादा को $userdata Array में Set करते हुए उपयोग में ले सकते हैं, लेकिन फिर भी user_login, user_passuser_email Compulsory Options होने की वजह से इन्हें Compulsory रूप से Specify करना जरूरी होता है, अन्‍यथा ये API Function Fail हो जाता है, जिसके परिणामस्वरूप हमें एक Error प्राप्त होता है। जबकि इस API Function के Successfully Execute होने की स्थिति में ये API Function Newly Create User का ID Return करता है।

<?php
/*
 *Plugin Name: User API
 *Plugin URI: https://www.bccfalna.com/wpplugins/user-api/
 *Description: Learning User API 
 *Author: Kuldeep Chand
 *Version: 1.0
 *Author URI: https://www.bccfalna.com/
 */
 
add_shortcode('NewUser', 'insert_new_user' );
function insert_new_user() {
?>
	<form method="get" action="">
	Username: <input type="text" name="username" value="<?php echo $clean['username']; ?>" />
	<br>
	Password: <input type="password" name="password" value="<?php echo $clean['password']; ?>" /><br>
	Email: <input type="text" name="email" value="<?php echo $clean['email']; ?>" />
	<input type="submit" name="submit" value="Register">
	<?php wp_nonce_field('nonce_action', 'nonce_name'); ?>
	</form>
	
<?	
	$clean = array();
	
	if(isset($_REQUEST['submit'])){
		check_admin_referer('nonce_action', 'nonce_name');
		$clean['username'] = $_REQUEST['username'];
		$clean['password'] = $_REQUEST['password'];
		$clean['email'] = $_REQUEST['email'];

		/* Set up the user data. */
		$userdata = array(
		'user_login' => $clean['username'],
		'user_email' => $clean['email'],
		'user_pass' => $clean['password'],
		'user_url' => 'https://www.bccfalna.com',
		);
		
		/* Create the user. */
		$user = wp_insert_user( $userdata );
		
		//* If the user wasn’t created, display the error message. */
		if ( is_wp_error( $user ) )
			echo $user->get_error_message();
		else {
			echo "User Registered Successfully.";
		}
	}
}

जब हम इस Plugin को उपरोक्तानुसार Code करके इसके Shortcode को किसी WordPress Page/Post पर Specify करके उस Page को Open करते हैं, इस Plugin द्वारा Generated User Interface हमें निम्न चित्रानुसार दिखाई देता है:

WordPress Create User - The Management in Hindi

जैसे ही हम इस Form को Fill करके Register Button पर Click करते हैं, हमारे Specified User की Information WordPress Database के Users Table में Store हो जाती है और Output के रूप में निम्नानुसार एक Message प्राप्त होता है, जो इस बात का Instruction देता है कि User Successfully Register हो गया है:

WordPress Create User - The Management in Hindi

जबकि यदि हम समान Information को फिर से इसी Form पर Fill करके Register Button पर Click करें, तो इस बार हमें निम्नानुसार एक Error Message प्राप्त होता है:

WordPress Create User - The Management in Hindi

ये Error Message हमें इसलिए प्राप्त होता है, क्योंकि Username, EmailPassword Field की Information द्वारा ही किसी User को Uniquely Identify किया जाता है। इसलिए जब इन Information का Repetition होता है, तो निम्न Statement द्वारा New User Registration के समय $user Variable में एक Error Message Insert हो जाता है:

        $user = wp_insert_user( $userdata );

परिणामस्वरूप यदि $user Variable में Data Repetition के कारण Error Message Store होता है, तो is_wp_error() API Function द्वारा $user Variable में Stored Error Signal के आधार पर निम्नानुसार if Statement Execute होता है और Error को Display करता है:

        //* If the user wasn’t created, display the error message. */
if ( is_wp_error( $user ) )
echo $user->get_error_message();

लेकिन यदि Data Repetition न हो, तो निम्नानुसार else Statement Block Execute होता है:

        else {
echo User Registered Successfully.“;
        }

जो इस बात को Indicate करता है कि नया User Successfully Register हो गया है।

Read more…

wp_create_user() API Function
wp_update_user( $userdata ) API Function
wp_delete_user( $user_id, $reassign ) API Function

WordPress User API
WordPress User Data - Management

WordPress in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Advance WordPress in Hindi | Page: 835 | Format: PDF

BUY NOW GET DEMO REVIEWS