Какова роль и история глобальной переменной $ content_width?

16

Я просто наткнулся на глобальную переменную под названием $content_width. Это было для меня новым, так что я мог видеть, что он используется в темах, как стандартных двадцать десять, так и сторонних.

Похоже, что он содержит ширину области содержимого в пикселях. Поскольку глобальные переменные не документированы в кодексе, у меня возникли проблемы с поиском информации об этом.

Когда была $content_widthвведена глобальная переменная и по какой причине? Есть ли билет, связанный с этим?

hakre
источник
2
действительно хороший вопрос. Я надеюсь, что вы обновите кодекс, как только вы получите окончательное решение.
Кайзер
Если вы отправите тему в каталог WordPress, они будут настаивать, чтобы она была установлена ​​до того, как тема будет в порядке. Я не уверен, для чего это нужно: вы можете использовать CSS / HTML во всех сценариях Филиппа.
@kaiser: Я не имею понятия, можно ли вообще документировать глобальные переменные в кодексе, но я сделаю хотя бы рецензию здесь или там, если я приду к какому-то выводу, конечно.
Хакре
Я создал документацию в кодексе: codex.wordpress.org/Content_Width
Рами
Странный этот пост только что появился в потоке, когда я что-то писал об этом здесь (о том, почему он отстой) wycks.wordpress.com/2013/02/14/…
Wyck

Ответы:

5

Я считаю, что это было добавлено обратно на WordPress 2.6 (возможно, 2.5). Он позволяет вам установить максимальную ширину изображений, отображаемых в виде содержимого вашей темы. Например, если основная область содержимого имеет ширину всего 475 пикселей, вы можете установить значение $ content_width = 450, чтобы убедиться, что ваше изображение не выходит за пределы основной области содержимого.

Manzabar
источник
Единственное упоминание, которое я могу найти до сих пор относящееся к теме доставки с использованием самого wordpress («core»), это [ core.trac.wordpress.org/ticket/10682 Ticket # 10682: определение $ content_width для Kubrick]. Он был представлен ViperBond, но он не поделился информацией о своих намерениях. В других заявках написано, что это особенность, но она остается неопределенной. Похоже, что все, но ключевые темы WordPress использовали его до WP 2.9-редко. Вот несколько лет с 2,6 / 2,5
Хакре
1
Первое упоминание, которое я помню, было через это сообщение в блоге, mainstreetopen.com/wordpress-26-and-full-width-images. Я провел еще несколько поисков и думаю, что это core.trac.wordpress.org/ticket/. 5777 , когда это было добавлено.
Манзабар
1
Поиск в Google, как и в случае с введением, стал намного проще .. site:http://svn.automattic.com/wordpress/tags/2.5 content_width(без результатов для 2.4) ...
t31os
@ t31os - спасибо за подсказку по поиску в Google.
hakre
Используйте его все время для поиска Trac (работает лучше, чем поиск Trac). :)
t31os
4

Несколько связано: я не знаю, разумно ли использовать, $content_widthесли вы планируете разработку темы, которая допускает гибкие варианты дизайна. Например, предположим, что для вас #contentбудет установлено значение, 512pxесли у пользователя активны виджеты боковой панели и 768pxесли у пользователя нет активных виджетов боковой панели. Я не вижу причин, почему CSS недостаточно для обработки переполнения изображения в основных областях содержимого:

.size-auto, 
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
    height: auto;
    max-width: 100%; }

Этот CSS прекрасно работает не только для а) защиты от переполнения изображения в соседних DIV-файлах, но также и б) для правильного изменения размера изображения по вертикали, когда оно сокращено для размещения #content. Может быть, я что-то упускаю, но мне это не совсем нужно $content_width.

Филип Артур Мур
источник
2
Это $content_widthне просто презентация. Это также влияет на содержимое в области администрирования и размер элементов без изображения в oembeds.
августа
3
Спасибо, Рарст. Я подумала, но это все же не заставляет меня чувствовать себя таким счастливым, когда речь идет о создании тем с гибкими областями контента. Кроме того, мне интересно, если это важно, учитывая, что макс. Размеры также могут быть установлены на странице настроек носителя. В любом случае спасибо за ответ.
Филипп Артур Мур
Мне действительно нужно проверить, изменяет ли страница настроек мультимедиа это значение. Это может объяснить, почему двадцать десять является предварительно установленной проверкой $ content_width для проверки if .
Хакре
3

$content_widthиспользуется для ограничения ширины изображения в содержимом сообщения. Он заменит настройку в разделе «Медиа» для largeразмера. Если вы определите эту переменную в functions.phpфайле, то ширина largeразмера загружаемого изображения будет $content_width.

Вот пост об этом.

Ань Чан
источник