こんにちは、以下のように変更してみてください。
<?php
add_action( 'admin_head','my_category_toggle' );
function my_category_toggle(){
?>
<script type="text/javascript">
<!--
jQuery(function() {
jQuery( '.categorydiv div.tabs-panel' ).css({'max-height':'100%'});
jQuery( '#categorychecklist li').each(function(){
if( jQuery( this ).children('ul').hasClass( 'children' ) ){
jQuery( this ).children( 'label' ).before('<span class="toggle-switch">●</span> ').css({'cursor':'default'});
}
});
jQuery('#categorychecklist .children').hide();
jQuery('.toggle-switch').click(function () {
jQuery(this).siblings('ul').toggle("slow");
});
});
//-->
</script>
<?php
}
?>
これで動作するなら、(これ、サンプルコードなので)
wp_head だと管理画面全域で、スクリプトがロードされるのでpost-new.phpなど利用するページだけで動作するようなフックを探すといいと思います。( admin_head-post-new.php みたいなやつ )
nobita様さっそくのご対応ありがとうございます!
サンプルコードで問題なくというか、素晴らしい動作が確認できました!
WordPressもこれを標準で実装すれば非常に使いやすいのに…。
コードは以下を外せばよかったんですね。
> li >
jQueryはまだ超初心者なので少しずつ勉強していきます。
本当にありがとうございました。
nobita様、お世話になります。
先日教えていただいた、jQueryのコードを利用していてつまづいたので再度ご質問させてください。
セキュリティ対策(ブルートフォースアタック用)として、Login rebuilderというプラグインを導入すると、ログイン後の画面が真っ白になってしまい動作できなくなってしまいました。
※「wp_headだと~」というアドバイスもいただいていたので、admin_head-post.phpとdmin_head-post-new.phpのフックを使っていました。
教えていただいたコードをfunctionから取り除くと通常通りログインできたので、コンフリクトを起こしているのではないかと思うのですが、回避方法がお分かりになるなら教えていただけないでしょうか?
よろしくお願いいたします。
もう少し情報が必要です
セキュリティ対策(ブルートフォースアタック用)として、Login rebuilderというプラグインを導入すると、ログイン後の画面が真っ白になってしまい動作できなくなってしまいました。
真っ白になるのは、サーバーサイドでコンフリクトしているのではないかと思います。
サーバーサイドでコンフリクトを起こすとすると、my_category_toggle()関数名の衝突があるのかな、と思いますが こんな関数名をプラグインで使っているとは思えません。
デバッグモードにしていただいて、たぶん fatal errorが出ているので、それを拾って、書き込んでもらえますか?
nobita様、ご連絡が遅くなり申し訳ありません。
WordPressを3.9.1に更新してご指示頂いたようにログイン画面でデバックモードを試してみたところ、以下の警告が表示されました。
Strict Standards: Non-static method Plugin_Revision_Control_Compat::options() should not be called statically, assuming $this from incompatible context in /home/hogehoge/www/hoge/wp-content/plugins/revision-control/revision-control.php on line 252
Warning: Cannot modify header information - headers already sent by (output started at /home/hogehoge/www/hoge/wp-content/plugins/revision-control/revision-control.php:252) in /home/hogehoge/www/hoge/wp-login.php on line 414
Warning: Cannot modify header information - headers already sent by (output started at /home/hogehoge/www/hoge/wp-content/plugins/revision-control/revision-control.php:252) in /home/hogehoge/www/hoge/wp-login.php on line 426
またログインページに以下の文言が表示されるようになりログインできなくなってしまいました。
「エラー: 予期しない出力により Cookies がブロックされました。ヘルプが必要な場合はこちらのドキュメンテーションを読むか、サポートフォーラムをご利用ください。」
プラグインのリビジョンコントロールが悪さしている感じなのでしょうか?