Jaka jest rola i historia zmiennej globalnej $ content_width?

16

Właśnie natknąłem się na globalną zmienną o nazwie $content_width. To było dla mnie nowe, do tej pory widziałem, że jest używane w motywach, zarówno standardowych dwadzieścia dziesięć jeden, jak i innych.

Wygląda na to, że zawiera szerokość obszaru zawartości w pikselach. Ponieważ zmienne globalne nie są udokumentowane w kodeksie, miałem problem ze znalezieniem informacji na ten temat.

Kiedy $content_widthwprowadzono zmienną globalną iz jakiego powodu? Czy jest z tym związany bilet?

hakre
źródło
2
naprawdę dobre pytanie. Mam nadzieję, że zaktualizujesz kodeks, gdy uzyskasz ostateczne rozwiązanie.
kaiser
Jeśli prześlesz motyw do katalogu WordPress, nalegają, aby był ustawiony, zanim motyw będzie OK. Nie jestem pewien, do czego to służy: możesz używać CSS / HTML we wszystkich scenariuszach Philipa.
@kaiser: Nie mam pojęcia, czy w ogóle można udokumentować zmienne globalne w kodeksie, ale zrobię przynajmniej coś tu lub tam, jeśli dojdę do pewnych wniosków, jasne.
hakre 13.03.11
Stworzyłem dokumentację w codex: codex.wordpress.org/Content_Width
Rami
Dziwny ten post właśnie pojawił się w strumieniu, gdy coś o tym pisałem (dlaczego jest do bani) wycks.wordpress.com/2013/02/14/…
Wyck

Odpowiedzi:

5

Wierzę, że został ponownie dodany do WordPress 2.6 (może 2.5). Ma on na celu ustawienie maksymalnej szerokości obrazów wyświetlanych jako treść w motywie. Np. Jeśli główny obszar zawartości ma tylko 475 pikseli, możesz ustawić $ content_width = 450, aby mieć pewność, że obraz nie wyrwie się z głównego obszaru zawartości.

Manzabar
źródło
Jedyne odniesienie, jakie do tej pory znalazłem specyficzne dla wysyłki motywów z samym wordpress („core”) to [ core.trac.wordpress.org/ticket/10682 Ticket # 10682: Zdefiniuj $ content_width dla Kubrick]. Został wprowadzony przez ViperBond, ale nie udostępnił żadnych informacji o swoich zamiarach. Na innych biletach jest napisane, że jest to funkcja, ale pozostaje niezdefiniowana. Wygląda na to, że wszyscy poza podstawowymi motywami WordPressa używali go przed WP 2.9-rzadko. To kilka lat od 2.6 / 2.5
hakre
1
Pierwsze wspomnienie, które pamiętam, pojawiło się w tym poście na blogu: mainstreetopen.com/wordpress-26-and-full-width-images Jeszcze trochę szukałem i myślę, że to jest core.trac.wordpress.org/ticket/ 5777 to data dodania.
Manzabar,
1
Wyszukiwanie w Google jak więc wykonanych zawężenia kiedy to został wprowadzony wiele łatwiej .. site:http://svn.automattic.com/wordpress/tags/2.5 content_width(brak wyników dla 2.4) ...
t31os
@ t31os - dzięki za wskazówkę dotyczącą wyszukiwania w Google.
hakre 18.03.11
Cały czas używaj go do wyszukiwania Traca (działa lepiej niż wyszukiwanie Traca). :)
t31os 18.03.11
4

Nieco powiązane: nie wiem, czy warto go użyć, $content_widthjeśli planujesz opracować motyw, który umożliwia elastyczne opcje projektowania. Załóżmy na przykład, że #contentzostanie ustawiony, 512pxjeśli użytkownik ma aktywne widżety paska bocznego i 768pxjeśli użytkownik nie ma aktywnych widżetów paska bocznego. Nie widzę powodu, dla którego CSS nie wystarcza, aby poradzić sobie z przepełnieniem obrazu w głównych obszarach treści:

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

Ten CSS działa idealnie dobrze, aby nie tylko a) chronić przed przelaniem obrazu do sąsiednich DIV, ale także b) odpowiednio zmienić rozmiar obrazów w pionie, gdy są one zmniejszone, aby pasowały #content. Może coś mi umknęło, ale nie mam takiej potrzeby $content_width.

Philip Arthur Moore
źródło
2
To $content_widthnie jest tylko prezentacja. Wpływa również na elementy w obszarze administracyjnym i rozmiar elementów innych niż obrazy w oembeds.
Rarst
3
Dzięki Rarst. Pomyślałem, ale nadal nie czuję się z tym zadowolony, jeśli chodzi o tworzenie motywów z elastycznymi obszarami treści. Zastanawiam się także, czy jest to krytyczne, biorąc pod uwagę to maks. wymiary można również ustawić na stronie Ustawienia multimediów. W każdym razie dzięki za odpowiedź.
Philip Arthur Moore
Naprawdę muszę sprawdzić, czy strona Ustawienia multimediów modyfikuje tę wartość. To może wyjaśniać, dlaczego dwadzieścia dziesięć sprawdza if content_width wcześniej ustawiony .
hakre
3

$content_widthsłuży do ograniczenia szerokości obrazu w treści postu. Zastąpi ustawienie w sekcji Media dla largerozmiaru. Jeśli zdefiniujesz tę zmienną w functions.phppliku, to szerokość largerozmiaru przesyłanego obrazu będzie wynosić $content_width.

Oto post na ten temat.

Anh Tran
źródło