プレビューや他のコンテンツのために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&TB_iframe=true&height='+viewportheight+'&width='+viewportwidth+'" class="thickbox button"><?php _e( 'Start Adminer', FB_ADM_TEXTDOMAIN ); ?></a>');
//-->
</script>
今私の問題と質問に。私はページwp-admin/plugins.php上のthickboxを使うでしょう、そしてここでスクリプトを動かさないでください。 WP常に高さと幅をコア値に設定します。これは私の要求では小さすぎます。
他の読者が考えや解決策を持っているかもしれません。
どうもありがとう!
plugins.php
ページは、WPネイティブthickboxスクリプトとスタイルをエンキューするadd_thickbox()
関数を呼び出します。それはドキュメンテーションでこれを持っています:
設定のいずれかを変更する必要がある場合は、media-upload.jsやtheme-preview.jsに似た別のjsファイルを使用してこれを実行できます。そのファイルは、後でロードされることを保証するためにarray( 'thickbox')が必要です。
だからこれにアプローチするためのさまざまな可能な方法があります:
フロントエンドまたはバックエンドでは、ソースURLのGET
の値を設定することでthickboxの幅と高さを設定できます。
thickboxのjsコードは次のようになります。
tb_show('Demo', '?action=show_demo&type=extended&width=900&height=800');
width
およびheight
パラメーターに注意してください。そしてもちろん、あなたは以前にthickbox
スクリプトとスタイルをエンキューする必要があります。
注:コードはテストされ、フロントエンドで動作します。バックエンドでも動作するはずです。バックエンドでうまくいかない場合は、教えてください。私はコードを修正しようとします