web-dev-qa-db-fra.com

Hauteur/largeur personnalisée pour thickbox dans WP Backend

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&amp;TB_iframe=true&amp;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!

2
bueltge

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:

  1. Comme WP, suggérez de créer et de mettre en file d'attente le fichier .js qui ajoutera les paramètres par défaut.
  2. Ré-enregistrez ou désactivez complètement le thickbox natif et remplacez-le par votre propre code.
0
Rarst

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

0
Sisir