Ширина толстого ящика не может быть изменена в администраторе


Я пытаюсь сделать всплывающее окно в области администрирования (на экране редактирования записи), и я не могу сделать свой толстый ящик шире 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 пикселей

 4
Author: Maikal, 2013-09-13

6 answers

Вы правы, это нельзя изменить, и похоже, что с момента вашего вопроса никаких изменений в этом не произошло. Есть билет, если кто-то заинтересован в работе над этим в ядре Wordpress...

Основной профиль Wordpress

 1
Author: Ryan Bayne, 2014-03-08 12:47:35

Я знаю, что этот пост старый, но вы можете просто сбросить атрибут стиля элемента, используя функцию 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 из внешнего файла вместо встроенного.

 1
Author: FiGO, 2016-03-16 02:07:30

Из комментария под моим вопросом (может быть, кто-то мог его пропустить, поэтому опубликуйте его в качестве ответа) [PS: слегка изменил его]:

Я думаю, что нашел решение, как изменить ширину, но это не настоящее решение.. Я все еще не понимаю, почему ширина толстого ящика составляет 670 пикселей (как вы можете видеть в моем коде (будет следовать далее), глобальная ширина толстого ящика установлена как переданный аргумент!! ) Таким образом, решение было следующим:

function m7_resize_thickbox(){
  jQuery(document).find('#TB_window').width(TB_WIDTH).height(TB_HEIGHT).css('margi‌​n-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 );
 1
Author: Maikal, 2016-03-19 15:12:24

В этом случае вы можете использовать css, чтобы увеличить минимальную ширину до 800 пикселей

#TB_window {
  min-width:800px!important;
}
 1
Author: user3635808, 2017-09-19 11:18:13

Я тоже столкнулся с этой проблемой, но мне нужно было добавить высоту, я нашел этот css-код очень эффективным!

.thickbox-loading {
    min-height: 500px!Important;
}

Я поместил это в CSS для плагина, с которым у меня была проблема, в области администрирования для этого конкретного плагина, поэтому это не должно влиять ни на что другое.

Надеюсь, это поможет!

 0
Author: R. Adamo, 2019-05-23 12:48:28

Возможное решение - вызовите эту функцию (https://codex.wordpress.org/Javascript_Reference/ThickBox):

add_thickbox(); 

Где-то в вашем php для меня это сработало:)

 -1
Author: michal, 2017-10-17 13:27:23