it-swarm-pt.tech

Altura/largura personalizada para thickbox em WP Back-end

Eu uso thickbox no backend WPpara pré-visualização ou outro conteúdo. Em páginas próprias no backend funciona muito bem meu script e pode usar largura e altura personalizadas para o thickbox. abaixo do meu código:

            <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>

Agora ao meu problema e pergunta. Vou usar um thickbox na página wp-admin/plugins.php e aqui não trabalho o script. WP defina a altura e a largura sempre para os valores-núcleo e isso é pequeno para o meu pedido.

Talvez outros leitores tenham uma ideia ou uma solução.

Muito Obrigado!

2
bueltge

plugins.php page chama a função add_thickbox() que enfileira WP script e estilo thickbox nativo. Tem isso na documentação:

Se alguma das configurações precisar ser alterada, isso pode ser feito com outro arquivo js semelhante a media-upload.js e theme-preview.js. Esse arquivo deve exigir array ('thickbox') para garantir que seja carregado depois.

Portanto, existem diferentes maneiras possíveis de abordar isso:

  1. Como WP sugira criar e enfileirar o arquivo .js que adicionará as configurações necessárias aos padrões.
  2. Registre novamente ou desative completamente o thickbox nativo e substitua-o pelo seu próprio código.
0
Rarst

Front End ou Backend você pode definir a largura e a altura do thickbox através da configuração do valor GET da URL de origem.

o código js do thickbox será algo assim:

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

observe o parâmetro width e height. E claro, você terá que enfileirar o script e o estilo thickbox antes.

Nota: O código é testado e funcionou para mim no frontend. Deve funcionar no backend também. Se não funcionar no backend, por favor me avise. Vou tentar consertar o código

0
Sisir