web-dev-qa-db-ja.com

Thickbox inのカスタムの高さ/幅 WP バックエンド

プレビューや他のコンテンツのためにWPバックエンドでthickboxを使っています。バックエンドの自分自身のページで私のスクリプトはとてもうまく動くし、thickboxにカスタムの幅と高さを使うことができます。私のコードの下に:

            <script type="text/javascript">
            <!--
                var viewportwidth;
                var viewportheight;

                if (typeof window.innerWidth != 'undefined') {
                    viewportwidth = window.innerWidth-80,
                    viewportheight = window.innerHeight-100
                } else if (typeof document.documentElement != 'undefined'
                    && typeof document.documentElement.clientWidth !=
                    'undefined' && document.documentElement.clientWidth != 0)
                {
                    viewportwidth = document.documentElement.clientWidth,
                    viewportheight = document.documentElement.clientHeight
                } else { // older versions of IE
                    viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
                    viewportheight = document.getElementsByTagName('body')[0].clientHeight
                }
                //document.write('<p class="textright">Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
                document.write('<a onclick="return false;" href="<?php echo WP_PLUGIN_URL . '/' . FB_ADM_BASEDIR; ?>/inc/index.php?username=<?php echo DB_USER; ?>&?KeepThis=true&amp;TB_iframe=true&amp;height='+viewportheight+'&width='+viewportwidth+'" class="thickbox button"><?php _e( 'Start Adminer', FB_ADM_TEXTDOMAIN ); ?></a>');
                //-->
            </script>

今私の問題と質問に。私はページwp-admin/plugins.php上のthickboxを使うでしょう、そしてここでスクリプトを動かさないでください。 WP常に高さと幅をコア値に設定します。これは私の要求では小さすぎます。

他の読者が考えや解決策を持っているかもしれません。

どうもありがとう!

2
bueltge

plugins.phpページは、WPネイティブthickboxスクリプトとスタイルをエンキューするadd_thickbox()関数を呼び出します。それはドキュメンテーションでこれを持っています:

設定のいずれかを変更する必要がある場合は、media-upload.jsやtheme-preview.jsに似た別のjsファイルを使用してこれを実行できます。そのファイルは、後でロードされることを保証するためにarray( 'thickbox')が必要です。

だからこれにアプローチするためのさまざまな可能な方法があります:

  1. WPとして、設定を追加する.jsファイルを作成してキューに入れることをお勧めします。
  2. ネイティブthickboxを完全に再登録または無効にして、独自のコードに置き換えてください。
0
Rarst

フロントエンドまたはバックエンドでは、ソースURLのGETの値を設定することでthickboxの幅と高さを設定できます。

thickboxのjsコードは次のようになります。

tb_show('Demo', '?action=show_demo&type=extended&width=900&height=800');

widthおよびheightパラメーターに注意してください。そしてもちろん、あなたは以前にthickboxスクリプトとスタイルをエンキューする必要があります。

注:コードはテストされ、フロントエンドで動作します。バックエンドでも動作するはずです。バックエンドでうまくいかない場合は、教えてください。私はコードを修正しようとします

0
Sisir