2015-09-15 10 views
14

tekst na moim wordpress edytora tekstu jest białe na białym tle, dzięki czemu jego niewidoczne dla większości ludzi ..Jak działa "CONCATENATE_SCRIPTS" na wp-config?

enter image description here

Szukałem go i znalazłem rozwiązanie, aby dodać następujący kod do wp-config .php

define('CONCATENATE_SCRIPTS', false); 

To działało dobrze, ale nie mogłem znaleźć tego, co robi i dlaczego działa.

Znalazłem tylko pytanie, które zadaje to samo: here, ale nie dostałem odpowiedzi.

Czy ktoś mógłby wyjaśnić, co robi powyższy kod i dlaczego działa?

+0

Czy używasz dowolnej wtyczki do TinyMCE? – vard

+0

Hej! Nie, ja nie ... – eyyo

+2

To naprawdę dziwny problem. Wydaje się, że jest to związane z niektórymi JS - czasami niektóre skrypty nie obsługują dobrze, aby zostać zminimalizowane (jeśli na przykład brak niektórych średników). Czy twoja konsola przeglądarki mówi coś na ten temat? – vard

Odpowiedz

21

Po pierwsze, miłe pytanie.

CONCATENATE_SCRIPTS to stała, która mówi wordpress do, dobrze .. połączyć wszystkie zależności w jeden adres URL i załadować go razem (aby zapisać żądania http chyba).

O ile mi wiadomo, dotyczy to tylko obszaru administracyjnego (z tyłu). Rezultatem jest url jak

<script src="http://somewordpress.site/wp-admin/load-scripts.php?c=1&load=jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,hoverIntent,common,jquery-color,wp-ajax-response,wp-lists,jquery-ui-resizable,quicktags,jquery-query,admin-comments,postbox,dashboard,thickbox,plugin-install,media-upload&ver=e0f647a6df61adcc7200ce17a647db7f" type="text/javascript"> 

Jest to normalne zachowanie domyślne, a jeśli masz problemy z nim, to prawdopodobnie z powodu konfliktu w pewnym javascript tematu lub wtyczki.

Innym możliwym (choć rzadziej) problemem jest przeglądarka z powodu buforowania TinyMCE. wyczyść pamięć podręczną przeglądarki.

Jeśli naprawdę chcesz zobaczyć, gdzie jest zdefiniowany lub co robi, możesz look here.

Tak czy inaczej, od zdefiniowania stałej jako false jesteś praktycznie zmuszając WordPress załadować każdy skrypt na stronie administracji indywidualnie Rater niż zbiorowo. W takim przypadku - Jeśli jeden skrypt nie załaduje się i nie będzie działał poprawnie, pozostałe nadal będą działały poprawnie.

To ustawienie zalecane dla debugging i rozwoju lokalnego. Jednak w twoim przypadku jest to jeden problem, a nie sam problem. powinieneś odseparować problem i go naprawić (prawdopodobnie wtyczka podobna do poprzedniej)

+0

Doskonale! Zobaczę, co znajdę ... Dziękuję! – eyyo

+0

Konkatenacja była szczególnie cenną techniką, zanim zależne skrypty mogły być ładowane równolegle, ponieważ jeden skrypt musiał czekać na następny przed pobraniem. Opóźnienie to [staje się coraz mniejszym problemem] (https://hackcabin.com/post/managing-async-dependencies-javascript/) w 2017 r., A w zależności od tego, w jaki sposób ładujesz skrypty, konkatenacja może spowolnić działanie witryny . Tak, żebyś wiedział. –

2

Aby rozwinąć po odpowiedzi Obmerka, w moim przypadku ustawienie CONCATENATE_SCRIPTS na false po prostu umożliwiło mi zobaczenie pojedynczego błędu w konsoli przeglądarki, ponieważ wtedy pokazało javascript dla tinymce nie ładował się poprawnie. Następnie przeglądanie dzienników serwera pokazało, że wp-tinymce.php nie został poprawnie uruchomiony. W końcu musiałem naprawić uprawnienia {sitepath}/wp-includes/js/tinymce/wp-tinymce.php, aby ustawienia zabezpieczeń serwera, na którym byłem, pozwoliłyby na uruchomienie.

W moim przypadku serwer nie zezwolił na zapisywanie grup, więc zajął się nim chmod 755. Rzeczywiste rozwiązanie będzie się różnić w zależności od konfiguracji serwera.