サポート » 使い方全般 » ユーザーレベルが「購読者」のプロフィール管理画面のカスタマイズ

  • 解決済 roses

    (@roses)


    ユーザーレベル「購読者」はパスワードの変更が出来ないように、プロフィール管理画面から新しいパスワードの設定項目を削除したいと思い、下記サイトを参考にパスワード設定項目を非表示にすることは出来たのですが、全ユーザーレベルに反映されます。

    参考サイト
    http://ounziw.com/2010/07/31/user-profile/

    function profile_css() {
    	?><style type="text/css">
    		tr#password {display:none!important;}
    	</style><?php }
    add_action( 'admin_head-profile.php', 'profile_css' );

    ユーザーレベル「購読者」にだけ適用するにはどのように書けば良いのでしょうか?

    ご教授いただけると助かります。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • nobita

    (@nobita)

    こんにちは、

    参考サイト拝見しました。
    普段あまり更新頻度の高くない入力項目を非表示にするために、コードが紹介されていました。

    rosesさんは、このテクニックを入力制限として利用しようとしているように見えます。

    ブラウザには、「スタイルシートを使わない」という設定も出来ますから、そのような設定をすると、表示されますし、入力が可能になります。

    get_currentuserinfo()を使ってユーザレベルを取得することは出来ますが、再考されることをおすすめします

    roses

    (@roses)

    nobitaさん こんにちは

    お察しの通り、入力制限として利用しようと思っておりますが、やはりCSSで非表示にしてもあまり意味がありませんね(汗
    ご指摘ありがとうございます。

    CSSでの非表示は止めて、下記サイトを参考に入力項目自体を削除してみました。

    参考サイト
    http://www.webopixel.net/wordpress/136.html
    「管理画面のAIM、Yahoo IM、Jabber項目の削除」部分を参考にしました。

    function update_password_fields( $show_password_fields ) {
        unset($show_password_fields);
        return $show_password_fields;
    }
    add_filter('show_password_fields','update_password_fields',10,1);

    見よう見まねなので少し不安ですが、一応、入力項目は削除できました。

    本題のユーザーレベルの指定の仕方が分かりません。
    get_currentuserinfo()での指定の仕方をもう少し詳しく教えていただけないでしょうか?
    よろしくお願いいたします。

    nobita

    (@nobita)

    こんにちは、

    私は、「パスワード管理は、ユーザーに責任を持って行ってもらうために、削除するのは、どうかと考えています」が、機能的には、非表示にすることも可能です。

    どうか慎重に、ご自身の責任で判断をお願いします。

    function update_password_fields( $show_password_fields ) {
    
    	global $current_user;
          	get_currentuserinfo();
    
    	$level = absint($current_user->user_level);
    
    	if( $level == 0 ){
    
        echo "<strong>パスワードの変更は、定期的に行う必要があります</strong>";
        echo "<p>パスワードの変更は、管理者へ申し出てください</p>";
    	}else{
    
    	return $show_password_fields;
    	}
    
    }
    add_filter('show_password_fields','update_password_fields',1,1);
    roses

    (@roses)

    nobitaさん ご回答ありがとうございます。

    私は、「パスワード管理は、ユーザーに責任を持って行ってもらうために、削除するのは、どうかと考えています」が、機能的には、非表示にすることも可能です。

    私もパスワードの管理はユーザーが行った方が良いと思うのですが、友人がどうしてもパスワードは自分で管理したいと言うもので(汗

    自己責任の部分は十分に友人に言い聞かせます!

    頂いたコードで思い通りの動作をいたしました。
    ご教授ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「ユーザーレベルが「購読者」のプロフィール管理画面のカスタマイズ」には新たに返信することはできません。