LoginSignup
7
7

More than 5 years have passed since last update.

wordpressのプロフィール編集から不要項目をjQuery + CSS3セレクタで削除

Last updated at Posted at 2013-09-17

よくある回答

フィルターフックuser_contactmethodsにunset()使えば削除できるよ!

function foo( $bar ) { unset($bar['aim']); }
add_filter('user_contactmethods','foo',10,1);

そうだね。こんな感じで削除できるね。
aim, jabbar, yimだけなら……な(facebookやtwitterも多分いける)。

でも、ネットでよく転がってる上記の方式だと、例えば配色とか、姓名の入力欄とか、
そんな項目が削除できないんだよね……。

今回提示する解決策の要綱

functions.phpのアクションフックにjQueryとCSS3のセレクタを使用し、
該当箇所をdisplay:none;で潰して行きます。

だったらCSS3を読みこませるだけでいいんじゃね?

IE8以下がCSS3を扱えないので……。
selectivizr.jsが使えれば良かったんですが、wordpressと相性が悪いみたいで。

例示の前に、wordpressでjQueryを扱うコツ

jQueryの記法、$(...)は、wordpressではjQuery(...)と記述すること。
今まで知らなかったんだ……。だってJavascript苦手なんだもん……。

WordPressでjQueryを使うときに、問題なく動作させる為の基礎知識やTipsと、動かない場合の対処例
http://kachibito.net/web-design/wordpress-with-jquery.html

実際の例

/* プロフィール欄の不要項目を、jQueryで削除 */
function profile_js() {
    ?>
<!-- wordpress3.1.4以下なら、下記が必要。使用中のjQuery1.7以上なら以下がなくても動く -->
<!--[if lt IE 9]>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<![endif]-->

<script type="text/javascript">
    tftn = "table.form-table:nth-of-type";
    jQuery(document).ready(function() {
        jQuery("div#profile-page h3").css("display", "none");
        jQuery(tftn + "(1)").css("display", "none");
        jQuery(tftn + "(2) tr:nth-child(2)").css("display", "none");
        jQuery(tftn + "(2) tr:nth-child(3)").css("display", "none");
        jQuery(tftn + "(2) tr:nth-child(4)").css("display", "none");
        jQuery(tftn + "(2) tr:nth-child(5)").css("display", "none");
        jQuery(tftn + "(3) tr:nth-child(2)").css("display", "none");
        jQuery(tftn + "(4) tr:nth-child(1)").css("display", "none");
    });
</script>
<?php }
//アクションフックshow_user_profileにこのスクリプトを組み込む
add_action( 'show_user_profile', 'profile_js' );
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7