Я использую толстую коробку в бэкенде WP для предварительного просмотра или другого контента. На собственных страницах в бэкенде мой скрипт работает очень хорошо, и я могу использовать пользовательскую ширину и высоту для толстого блока. ниже моего кода:
<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 и здесь не работает скрипт. WP всегда устанавливает высоту и ширину в соответствии с основными значениями, и это слишком мало для моего запроса.
Возможно, у других читателей есть идея или решение.
Большое спасибо!
plugins.php
страница вызываетadd_thickbox()
функцию, которая ставит в очередь собственный сценарий и стиль толстого ящика WP. Это есть в документации:Таким образом, есть разные возможные способы приблизиться к этому:
Спасибо, я не вижу функции для документации 🙁 Теперь я нашел JS для собственных настроек толстого ящика.
Это во встроенной документации (прямо над исходным кодом функции в
\wp-includes\general-template.php
)Да, я видел в источнике. Обычно я ищу ядро локально или использую WPAPI ( wpdocs.labs.thedextrousweb.com )
Я нашел документацию над add_thickbox, но мне недостаточно, чтобы понять, как ее использовать. Я пытаюсь избежать высоты/ширины толстого ящика по умолчанию на экране «Добавить сообщение», но не могу понять это. Можете ли вы расширить/прокомментировать этот ответ с помощью примера кода, в котором используется толстый ящик с нестандартными размерами?
Я думаю, что Фрэнк упомянул проблему с серверной частью в своем исходном посте, и это поведение не изменилось. Таким образом, это, скорее всего, не будет работать на экранах редактирования в бэкэнде, потому что WP делает некоторые переопределения.
На пользовательской бэкенд-странице это работает, но не на страницах, таких как plugins.php. WP по умолчанию устанавливает значения веса и высоты в ядре, и таким образом невозможно перезаписать ваши пользовательские требования.
Ломаю голову над тем, почему этот чертов толстый ящик не соблюдает высоту, которую я устанавливаю в plugins.php… Спасибо, мистер Фрэнк! @bueltge
Front End или Backend вы можете установить ширину и высоту толстого ящика, задав
GET
значение исходного URL.код толстого ящика js будет примерно таким:
обратите внимание на параметр
width
иheight
. И, конечно же, вам нужно будет сначала поставить в очередьthickbox
сценарий и стиль.Примечание. Код протестирован и работает на моем внешнем интерфейсе. Это должно работать и на бэкэнде. Если это не работает на бэкэнде, пожалуйста, дайте мне знать. попробую исправить код
Решение, которое я нигде не читал в Интернете:
tb_position — это функция Thickbox, которая делает странные вещи с размером окна. Вы можете легко и просто переопределить его к тому времени, когда его вызовет толстая коробка.