Od wersji JetPack 2.2.1 dostępny jest teraz tryb programowania lokalnego / debugowania.
http://jetpack.me/2013/03/28/jetpack-dev-mode-release/
posługiwać się:
define ('JETPACK_DEV_DEBUG', true);
w swojej wp-config i powinieneś mieć dostęp do wszystkich modułów, które nie wymagają połączenia do działania.
Zaktualizuj, ponieważ około 3.3 wprowadzono kolejny lokalny wyzwalacz rozwoju przez filtr zamiast definicji.
Najnowsze jest teraz tutaj: http://jetpack.me/support/development-mode/
Tryb programowania automatycznie włącza się, jeśli nie masz kropki w nazwie hosta witryny, tj. Localhost. Jeśli użyjesz innego adresu URL, takiego jak mycooltestsite.local lub coś takiego, musisz zdefiniować stałą JETPACK_DEV_DEBUG.
Możesz także włączyć tryb programowania Jetpack poprzez wtyczkę, dzięki filtrowi jetpack_development_mode:
add_filter( 'jetpack_development_mode', '__return_true' );
Począwszy od wersji Jetpack v3.9 dostępny jest teraz także filtr trybu przemieszczania, który wymusza ponowne rozpoznanie witryny jako strony przejściowej zamiast produkcyjnej: https://developer.jetpack.com/hooks/jetpack_is_staging_site/
add_filter( 'jetpack_is_staging_site', '__return_true' );
Requires Connection
w plikach modułów (jetpack/modules/*.php
). W ten sposób możemy sprawdzić, które będą działać w trybie deweloperskim, czy nie.Metoda podana w linku podanym przez @TracyRotton wydaje się nie działać od Jetpack 2.0 i WordPress 3.4.2.
Nawet replikacja wszystkich pól bazy danych nie działa jako połączona.
Ponieważ pytanie PO dotyczy synchronizacji środowiska programistycznego i produkcyjnego, być może nie jest to możliwe.
Nie przetestowałem dogłębnie, które moduły działają, a które nie, ale Jetpack można oszukać, że jest podłączony, wprowadzając następującą modyfikację w pliku
/plugins/jetpack/jetpack.php
.Wewnątrz klasy
Jetpack_Data
zmodyfikuj pierwszą funkcję,get_access_token
taką jak:Lub po prostu wstaw
return true;
zamiast tego,user_tokens
który możemy skopiować z wnętrza opcjijetpack_options
.PS: pierwsza wersja tej odpowiedzi używała innej sztuczki. Tutaj jest to jednowierszowa modyfikacja, która chwyta wszystko, teoretycznie ...
źródło
force_user_connection()
metody wpublicize/publicize-jetpack.php
. Mimo to wydaje się, że nadal nie zachowuje się dokładnie tak, jakby był faktycznie podłączony. Nie przekopałem się zbytnio w kodzie, ale podejrzewam, że jest o wiele więcej miejsc w kodzie, które muszą zostać zhakowane, aby naprawdę działały dokładnie tak samo, jak na serwerze na żywo.Można oszukać JetPack, kopiując wartości pól bazy danych z aktywowanej instalacji do instalacji lokalnej.
W przypadku instalacji (zdalnej) z podłączonym JetPack wyszukaj w
wp_options
tabelioption_name
pola zaczynające się odjetpack_
, takie jak:jetpack_activated
jetpack_options
jetpack_nonce_{random_string}
jetpack_active_modules
Skopiuj te pola i wartości do lokalnej bazy danych instalacji.
Aby uzyskać więcej informacji na temat tego procesu, patrz: http://www.ravendevelopers.com/node/57
źródło
Zainspirowany najnowszym rozwiązaniem brasofilo istnieje jeszcze prostszy sposób - wystarczy otworzyć jetpack.php i wyszukać
i zamień na:
Wydaje się być o wiele łatwiejsze niż granie z bazą danych i działało dla mnie w wersji Jetpack
2.1.1
i WordPress3.5
Ale powinieneś ustawić regułę ignorowania dla tego pliku lub coś podobnego, jeśli chcesz, aby wtyczka działała dobrze na stronie na żywo, ponieważ lepiej jest podłączyć się w sposób rzeczywisty niż na stałe zakodować aktywną flagę.
źródło
Jeśli chcesz mieć pełną funkcjonalność Jetpack, twoje środowisko programistyczne będzie musiało być dostępne publicznie. Możesz to skonfigurować, ustawiając adres dewelopera w subdomenę, np. Sandbox.mysite.com, ustawiając ten rekord DNS tak, aby wskazywał adres IP, na którym znajduje się serwer programisty, i ewentualnie konfigurując router / zaporę ogniową, aby zezwalał na żądania portu 80 przez do twojej maszyny.
Inną opcją jest uruchomienie środowiska pomostowego i użycie go do wszystkiego, co dotyczy Jetpack. Środowiska przejściowe mają wiele zalet, więc i tak warto je skonfigurować.
źródło
jetpack_development_mode
Filtr:Chcę tylko wspomnieć o
jetpack_development_mode
filtrze.Możesz po prostu użyć:
aby uruchomić JetPack lokalnie.
Mała wtyczka:
Aby uniknąć konieczności modyfikowania
wp-config.php
pliku zwykłą sztuczką:możesz teraz kontrolować to za pomocą tej małej wtyczki:
Możesz to sprawdzić na GitHub .
źródło
Poprawka na http://ravendevelopers.com/node/57 MOŻE nie działać z wersjami Jetpack powyżej 2.x. Jeśli to nie działa w wersji 2.x, spróbuj najpierw zainstalować Jetpack na swojej stronie internetowej, np. (Example.com), podłącz go do wordpress.com, a następnie zaimportuj ustawienia z witryny na żywo do lokalnego hosta / przykładu, który musi być to samo (ustawienia zaimportowane z example.com mogą nie działać z localhost / example2). Rzeczą jest to, co robisz w swojej działającej witrynie. Upewnij się, że zaimportowane ustawienia dotyczą tej samej witryny na komputerze lokalnym.
źródło
Hmm, wygląda na to, że twoją odpowiedź można uprościć. Zaakceptuj tę zmianę, a ja podniosę głos twojej odpowiedzi.
Ponieważ is_active () zwraca true, wystarczy zmienić tylko jeden wiersz w admin_page ():
1.
zmień wartość$is_user_connected
natrue
źródło
is_active
JetPack są 2 funkcje, dlatego rozwiązanie wydaje się zbędne, ale tak nie jest :)