web-dev-qa-db-ja.com

管理領域のiframe(thickboxまたはtinyMCE)の中にスタイルシートやJSを配置するためのフックがありますか

私は自分の管理領域のテーマに取り組んでいて、thickboxとtinyMCEが見えるようにいくつかの変更を加えたいと思いました。 wp_enqueue_script()wp_enqueue_style()を使用して私の管理領域にカスタムスタイルシートとJSを追加することでほとんどの変更を加えることができましたが、他の変更をするのに苦労しました。これは、要素を含むiframeが私自身のスタイルでは到達できないか、私のものをオーバーライドする他のスタイルシートとJSを頭の中に持っているからです。

JavaScriptとCSSの!important宣言を使用してこれを迂回することはできましたが、wp_enqueue_script()wp_enqueue_style()を呼び出してスクリプトをこれらのiframeヘッダー内に入れることができるようなフックがあるのではないかと思いました。いくつかのフックはadmin_headadmin_initに似ていますが、thickboxやiframe用ですか?

4
nineam

あなたはCSSを使用することによってCSSを上書きすることができます admin_print_scripts admin_head-media-upload-popupを追加して、ニーズに合わせてcssを追加してください。これはfunctions.phpファイルを介してまたはプラグインを作成することによって行うことができます。これは、スタイルを追加するためのプラグイン形式のコードです。

<?php
/*
Plugin Name: Some Name
Description: Custom Thickbox Styles
*/
add_action('admin_head-media-upload-popup', 'custom_tb_styles');
function custom_tb_styles() {
  ?>
  <style>
    #TB_window {
    background:silver;
    }
    /*
    YOUR CUSTOM STYLES HERE
    */
  </style>
  <?php
  }

あなたのfunctions.phpファイルにコードを追加しているなら、あなたはただファイルにこれを追加することができます:

<?php
add_action('admin_head-media-upload-popup', 'custom_tb_styles');
function custom_tb_styles() {
  ?>
  <style>
    #TB_window {
    background:silver;
    }
    /*
    YOUR CUSTOM STYLES HERE
    */
  </style>
  <?php
  }

もう1つのオプションは、Thickboxスタイルの登録を解除して独自のスタイルを完全に追加することです。

_ungestaltbarによるコメントに従って編集され、これはthickboxのiframeでのみスタイル/スクリプトを印刷するための正しいフックを指します。以前に使用されたアクションフック(admin_print_scriptsおよびadmin_print_styles)は、すべての管理ページで呼び出されます。

3
Jeremy Jared

TinyMCEには、ビジュアルエディタでスタイルシートをキューに入れるための特別な関数 add_editor_style() があります。あなたがそれをfunctions.phpで呼び出すなら、あなたはちょうどあなたのテーマフォルダにeditor-style.cssを入れるでしょう、そしてあなたは行ってもいいです。それ以外の場合、この関数はカスタムスタイルシート名の引数を受け入れます。

2
mrwweb