J'utilise une boîte épaisse dans le dossier WP pour la prévisualisation ou tout autre contenu. Mon script fonctionne très bien sur les propres pages du backend et peut utiliser une largeur et une hauteur personnalisées pour la thickbox. sous mon code:
<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>
Maintenant à mon problème et question. Je vais utiliser un thickbox sur la page wp-admin/plugins.php et ici ne fonctionne pas le script. WP définissez toujours la hauteur et la largeur sur les valeurs principales, ce qui est trop petit pour ma demande.
Peut-être que d'autres lecteurs ont une idée ou une solution.
Merci beaucoup!
La page plugins.php
appelle la fonction add_thickbox()
qui met en file d'attente WP le script et le style native heavybox. Il a ceci dans la documentation:
Si l'un des paramètres doit être modifié, vous pouvez utiliser un autre fichier js similaire à media-upload.js et theme-preview.js. Ce fichier devrait nécessiter un tableau ("épais") pour être chargé après.
Il existe donc différentes manières d’aborder ceci:
Front End ou Backend, vous pouvez définir la largeur et la hauteur de la thickbox en définissant la valeur GET
de l'URL source.
le code de thickbox js sera quelque chose comme ceci:
tb_show('Demo', '?action=show_demo&type=extended&width=900&height=800');
remarquez les paramètres width
et height
. Et bien sûr, vous devrez mettre en file d'attente le script thickbox
et le style avant.
Remarque: Le code est testé et a fonctionné pour moi en mode frontal. Cela devrait fonctionner sur le backend aussi. Si cela ne fonctionne pas sur backend s'il vous plaît faites le moi savoir. Je vais essayer de réparer le code