Ширина толстого ящика не может быть изменена в администраторе
Я пытаюсь сделать всплывающее окно в области администрирования (на экране редактирования записи), и я не могу сделать свой толстый ящик шире 670 пикселей (ширина: 670 пикселей).
Вот мой код thickbox, который показывает thickbox:
tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );
(это работает после нажатия кнопки TinyMCE) , и я получаю div с идентификатором="tb_window"
<div id="TB_window" style="width: 670px; height: 216px; margin-left: -335px; top: 48px; margin-top: 0px; visibility: visible;">
(код взят из браузера Google)
Поэтому, если я вручную изменю ширину, а затем изменю размер браузера, он вернет 670 пикселей в ширину.. Можно ли это как-то изменить, чтобы показать толстую коробку весь контент шириной 800 пикселей?
Он создает раздел #tb_window с идентификатором="tb_ajaxcontent", ширина которого составляет 800 пикселей
6 answers
Вы правы, это нельзя изменить, и похоже, что с момента вашего вопроса никаких изменений в этом не произошло. Есть билет, если кто-то заинтересован в работе над этим в ядре Wordpress...
Я знаю, что этот пост старый, но вы можете просто сбросить атрибут стиля элемента, используя функцию setAttribute чуть ниже tb_show().
tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' ); // Get the id of the element var tb = document.getElementById('TB_ajaxContent'); // set the attribute to an empty string or your desired width/height. tb.setAttribute('style', '');
Если вы установите атрибут style в пустую строку, вы сможете использовать css из внешнего файла вместо встроенного.
Из комментария под моим вопросом (может быть, кто-то мог его пропустить, поэтому опубликуйте его в качестве ответа) [PS: слегка изменил его]:
Я думаю, что нашел решение, как изменить ширину, но это не настоящее решение.. Я все еще не понимаю, почему ширина толстого ящика составляет 670 пикселей (как вы можете видеть в моем коде (будет следовать далее), глобальная ширина толстого ящика установлена как переданный аргумент!! ) Таким образом, решение было следующим:
function m7_resize_thickbox(){
jQuery(document).find('#TB_window').width(TB_WIDTH).height(TB_HEIGHT).css('margin-left', - TB_WIDTH / 2);
}
jQuery( document ).on( 'ready', function() {
tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );
m7_resize_thickbox(); // after tb_show we need to update width/height values; we could also do something like jQuery( window ).trigger( 'resize' );
}
jQuery(window).on( 'resize', m7_resize_thickbox );
В этом случае вы можете использовать css, чтобы увеличить минимальную ширину до 800 пикселей
#TB_window {
min-width:800px!important;
}
Я тоже столкнулся с этой проблемой, но мне нужно было добавить высоту, я нашел этот css-код очень эффективным!
.thickbox-loading {
min-height: 500px!Important;
}
Я поместил это в CSS для плагина, с которым у меня была проблема, в области администрирования для этого конкретного плагина, поэтому это не должно влиять ни на что другое.
Надеюсь, это поможет!
Возможное решение - вызовите эту функцию (https://codex.wordpress.org/Javascript_Reference/ThickBox):
add_thickbox();
Где-то в вашем php для меня это сработало:)