當(dāng)前位置:首頁>WordPress建站>WordPress開發(fā)>對(duì)倡萌童鞋《WordPress 個(gè)人資料添加額外的字段》的補(bǔ)充

對(duì)倡萌童鞋《WordPress 個(gè)人資料添加額外的字段》的補(bǔ)充

用戶在站內(nèi)注冊(cè)并登錄你的Wordpress網(wǎng)站后,如果他可以來到后臺(tái),不管他是什么角色(role),都會(huì)在后臺(tái)左側(cè)菜單看到“我的個(gè)人資料”這個(gè)菜單項(xiàng),點(diǎn)擊后,可以進(jìn)入該頁面。

WP大學(xué)的倡萌童鞋寫了一篇文章:《WordPress 個(gè)人資料添加額外的字段》,我是搜索特定關(guān)鍵詞edit_user_profile+show_user_profile找到這個(gè)頁面的,我就就一個(gè)自己插件的限定條件免費(fèi)組件寫一篇小文章,算是對(duì)這篇文章的擴(kuò)展吧!

任何通過WordpressAPI實(shí)現(xiàn)的數(shù)據(jù)存取,都應(yīng)該考慮

  • 如何存?
  • 如何取?
  • 取出數(shù)據(jù)后如何顯示?

這三個(gè)問題,你可能覺得我說的有點(diǎn)兒?jiǎn)拢冒桑粏铝耍苯由洗a:

<?php
/*
Plugin Name: Coolwp ALP add-on for user profile
Plugin URI: http://suoling.net/access-level-pro/
Description:This is an add-on of ALP(Access Level Pro),more info:<a  title="Access Level Pro">Click HERE!</a>
Version: 1.0.0
Author: Suifengtec
Author URI: http://suoling.net/
Text Domain: cwpalp
License: http://suoling.net/licenses
*/
function coolwp_alp_for_user_profile_page( $user ) {
/*
	判斷所需的父插件是否存在,判斷依據(jù)是父插件中的一個(gè)函數(shù)是否存在,如果存在,就怎么著...
*/
	if(function_exists('sl_get_subscription_id')){

		$user_ID = get_current_user_id();
/*
	獲取當(dāng)前用戶ID,然后判斷該用戶是否處在付費(fèi)訂閱有效期內(nèi),如果是,那么就怎么著...
*/
	if(sl_is_active( $user_ID ) && sl_is_paid_user($user_ID)){
		$cwp_alp_has_actived ='是';
		//獲取某用戶的訂閱等級(jí)ID
		$cwp_alp_user_level = sl_get_subscription_id( $user_ID );
		//獲取該用戶訂閱等級(jí)信息
		$cwp_get_level_info=sl_get_subscription_details( absint($cwp_alp_user_level ));
		//該用戶訂閱等級(jí)名稱
		$cwp_alp_user_level_name =$cwp_get_level_info->name;
		//該用戶訂閱等級(jí)描述
		$cwp_alp_user_level_des =$cwp_get_level_info->description ;
		//該用戶訂閱等級(jí)周期的數(shù)字部分
		$cwp_alp_user_level_duration_num =$cwp_get_level_info->duration ;
		//該用戶訂閱等級(jí)周期的單位部分
		$cwp_alp_user_level_duration_unit =$cwp_get_level_info->duration_unit;
		//該用戶訂閱等級(jí)是否激活
		$cwp_alp_user_level_status =$cwp_get_level_info->status;
		$cwp_alp_user_access_level=sl_get_subscription_access_level($cwp_alp_user_level);
		$cwp_alp_user_expiration = get_user_meta( $user_ID, 'sl_expiration', true );
		$cwp_alp_user_level_output= __('訂閱等級(jí):', 'cwpalp').'<span style="color:green"> '.$cwp_alp_user_level_des.'</span>  ,'.__('權(quán)限等級(jí)為:', 'cwpalp').' <span style="color:green">'.$cwp_alp_user_access_level.'</span>; '.__('時(shí)長(zhǎng):', 'cwpalp').':<span style="color:green">'.$cwp_alp_user_level_duration_num.__($cwp_alp_user_level_duration_unit,'cwpalp').'</span> . ';
		$tr_css='alp-ok';
/*
	如果當(dāng)前用戶不出在有效的付費(fèi)訂閱期內(nèi),那么,就怎么著...
*/
}else{
	$cwp_alp_has_actived ='<span class="alp-error">否</span>';
	$cwp_alp_user_level_name ='<span class="alp-error">未激活或者已過期!</span>';
	$cwp_alp_user_expiration=$cwp_alp_user_level_name;
	$cwp_alp_user_level_output=$cwp_alp_user_level_name;
	$tr_css='alp-error';

}
?>
<!--
直接將CSS寫在這里了,就不單獨(dú)建個(gè)文件enqueue了,算是減少一個(gè)http請(qǐng)求吧。
-->
<style>
	.cwp-alp-data{
		background:#59524C;
		padding:10px;
		padding-left:10px;
		border-radius: 5px;
		font-family: "Microsoft Yahei",sans-serif;
	}
	.cwp-alp-data label{
		padding-left:10px;
		color:#fff;
	}
	h3.alp-user-profile-heading{
		color:#59524C;
		text-align:center;
	}
	td.alp-ok,td.alp-error{
		float:left;
		margin: 5px 0 15px;
		border: 0;
		padding: 1px 12px;
		background-color: #fff;

		-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
		box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
	}
	td.alp-ok{
		border-left: 4px solid #7ad03a;
	}
	td.alp-error{
		border-left: 4px solid #D64E07;
	}
	span.alp-error{
		color:#D64E07;
	}
	td.alp-ok p, td.alp-error p {
		margin: .5em 0;
		padding: 2px;
	}
</style>
<!--HTML結(jié)構(gòu)開始-->
<h3 class="alp-user-profile-heading"><?php _e('訂閱信息', 'cwpalp'); ?></h3>
<table class="form-table cwp-alp-data">
	<tr>
		<th><label><?php _e('訂閱賬戶是否激活?', 'cwpalp'); ?></label></th>
		<td class="<?php echo $tr_css ?>"><p><?php echo $cwp_alp_has_actived; ?></p></td>
	</tr>
	<tr>
		<th>
			<label><?php _e('訂閱等級(jí)', 'cwpalp'); ?></label>
		</th>
		<td  class="<?php echo $tr_css ?>">
			<p><?php echo $cwp_alp_user_level_name; ?></p>
		</td>
	</tr>
	<tr>
		<th>
			<label><?php _e('訂閱等級(jí)描述', 'cwpalp'); ?></label>
		</th>
		<td  class="<?php echo $tr_css ?>">
			<p><?php echo $cwp_alp_user_level_output; ?></p>
		</td>
	</tr>
	<tr>
		<th>
			<label><?php _e('訂閱有效期截至', 'cwpalp'); ?>
			</label></th>
			<td  class="<?php echo $tr_css ?>">
				<p><?php echo $cwp_alp_user_expiration; ?></p>
			</td>
		</tr>
	</table>
	<!--//HTML結(jié)構(gòu)結(jié)束-->
	<?php }else{
		return ;
	}
}
add_action( 'show_user_profile', 'coolwp_alp_for_user_profile_page' );
add_action( 'edit_user_profile', 'coolwp_alp_for_user_profile_page' );
/*

///這個(gè)被我注釋掉的代碼段是演示如何存儲(chǔ)內(nèi)容的,如果你覺得需要,請(qǐng)自行添加相應(yīng)數(shù)據(jù)庫字段。

function coolwp_alp_for_user_profile_page_save( $user_id ) {

  if ( !current_user_can( 'edit_user', $user_id ) )
	return FALSE;

  update_usermeta( $user_id, 'address', $_POST['address'] );
}


add_action( 'personal_options_update', 'coolwp_alp_for_user_profile_page_save' );
add_action( 'edit_user_profile_update', 'coolwp_alp_for_user_profile_page_save' );

*/

/*
	Show notification if ALP(Access Level Pro) is not installed
	父插件不存在時(shí),在Wordpress上方顯示一個(gè)錯(cuò)誤信息。
*/
	if (!function_exists('sl_get_subscription_id')) {
		add_action( 'admin_notices', 'cwpalp_un_check', 5 );

		add_action( 'network_admin_notices', 'cwpalp_un_check', 5 );

		function cwpalp_un_check() {

			echo '<div class="update-nag" ><p>' . __('Coolwp ALP plugin for user profile is an add-on for ALP(Access Level Pro),You need to install<a style="text-decoration: none;"  title="More info about ALP ?">Access Level Pro</a> to use this add-on.  <a  style="text-decoration: none;" >More info ?</a>', 'cwpalp') . '</p></div>';
		}
	}

你也可以在這里下載代碼包,文件的PHP中已經(jīng)寫上注釋了。

這個(gè)插件中演示了如何在”我的個(gè)人資料”頁面添加自定義的HTML元素。實(shí)際截圖如下:

1.當(dāng)未安裝父插件時(shí),在頁面上方提示:

0554-wpdaxue_com

2.當(dāng)當(dāng)前用戶具有某種付費(fèi)訂閱權(quán)限/等級(jí)的時(shí)候,在“我的個(gè)人資料”頁面顯示:

3.當(dāng)當(dāng)前用戶沒有任何付費(fèi)訂閱權(quán)限/等級(jí)的時(shí)候,在“我的個(gè)人資料”頁面顯示:

倡萌注:如果你之前看過 《WordPress 個(gè)人資料添加額外的字段》和 《如何在WordPress后臺(tái)頂部添加錯(cuò)誤提醒信息或升級(jí)提醒信息》,那么你應(yīng)該可以比較容易看明白本文的代碼了。

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress開發(fā)

善用 WordPress 選擇函數(shù) selected()

2014-2-24 9:34:49

WordPress開發(fā)

為Wordpress主題或插件創(chuàng)建和使用自己的表

2014-3-4 10:20:30

5 條回復(fù) A文章作者 M管理員
  1. 暫時(shí)還用不上。

?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

曲阳县| 苗栗市| 师宗县| 汤阴县| 高州市| 玉溪市| 中卫市| 巴彦淖尔市| 无棣县| 同心县| 南华县| 武威市| 澜沧| 云和县| 浦城县| 平凉市| 叙永县| 衡阳县| 竹溪县| 宿松县| 方正县| 余庆县| 景泰县| 容城县| 黄梅县| 万宁市| 乌拉特中旗| 织金县| 和龙市| 化德县| 台中市| 青岛市| 安仁县| 漳平市| 白银市| 界首市| 黑山县| 巴林右旗| 汨罗市| 宜君县| 辽中县|