Pada JetPack 2.2.1 sekarang ada mode pengembangan / debug lokal.
http://jetpack.me/2013/03/28/jetpack-dev-mode-release/
menggunakan:
define ('JETPACK_DEV_DEBUG', true);
di wp-config Anda dan Anda harus memiliki akses ke modul apa pun yang tidak memerlukan koneksi untuk berfungsi.
Perbarui, karena sekitar v3.3 pemicu pengembangan lokal lainnya ditambahkan melalui filter alih-alih ditentukan.
Terbaru sekarang di sini: http://jetpack.me/support/development-mode/
Mode pengembangan secara otomatis diaktifkan jika Anda tidak memiliki periode dalam nama host situs Anda, yaitu localhost. Jika Anda menggunakan URL yang berbeda, seperti mycooltestsite.local atau semacamnya, maka Anda perlu mendefinisikan konstanta JETPACK_DEV_DEBUG.
Anda juga dapat mengaktifkan mode pengembangan Jetpack melalui sebuah plugin, berkat filter jetpack_development_mode:
add_filter( 'jetpack_development_mode', '__return_true' );
Pada Jetpack v3.9 sekarang juga ada filter mode pementasan yang memaksa sebuah situs untuk direkonsiliasi sebagai situs pementasan daripada produksi: https://developer.jetpack.com/hooks/jetpack_is_staging_site/
add_filter( 'jetpack_is_staging_site', '__return_true' );
Requires Connection
di file modul (jetpack/modules/*.php
). Dengan cara ini kita dapat memeriksa mana yang akan bekerja dalam mode dev atau tidak.Metode dalam tautan yang disediakan oleh @TracyRotton tampaknya tidak berfungsi sejak Jetpack 2.0 dan WordPress 3.4.2.
Bahkan mereplikasi semua bidang basis data, itu tidak bertindak sebagai terhubung.
Karena pertanyaan OP adalah tentang menyinkronkan pengembangan dan lingkungan produksi, mungkin itu tidak mungkin.
Saya belum menguji modul mana yang bekerja dan mana yang tidak, tetapi Jetpack dapat diperdaya untuk meyakini bahwa itu terhubung membuat modifikasi berikut dalam file
/plugins/jetpack/jetpack.php
.Di dalam kelas
Jetpack_Data
, modifikasi fungsi pertamaget_access_token
seperti:Atau cukup masukkan
return true;
sajauser_tokens
yang dapat kita salin dari dalam opsijetpack_options
.PS: versi pertama jawaban ini menggunakan trik lain. Di sini, ini adalah modifikasi satu baris yang menangkap semua, secara teori ...
sumber
force_user_connection()
metode dipublicize/publicize-jetpack.php
. Meskipun begitu, meskipun demikian, kelihatannya masih tidak berlaku sama seperti jika itu benar-benar terhubung. Saya belum menggali kode secara luas, tetapi kecurigaan saya adalah bahwa ada banyak tempat dalam kode yang perlu diretas untuk benar-benar membuatnya mengeksekusi persis sama seperti pada server langsung.Dimungkinkan untuk menipu JetPack dengan menyalin nilai-nilai bidang basis data dari instalasi yang diaktifkan ke instalasi lokal Anda.
Pada instalasi (jarak jauh) dengan JetPack yang terhubung, cari
wp_options
tabel untukoption_name
bidang yang dimulai denganjetpack_
, seperti:jetpack_activated
jetpack_options
jetpack_nonce_{random_string}
jetpack_active_modules
Salin bidang dan nilai ini ke basis data pemasangan lokal Anda.
Untuk detail lebih lanjut tentang proses ini lihat: http://www.ravendevelopers.com/node/57
sumber
Terinspirasi oleh solusi terbaru brasofilo, bahkan ada cara yang lebih mudah, cukup buka jetpack.php, cari
dan ganti dengan ini:
Tampaknya jauh lebih mudah daripada bermain dengan database dan bekerja untuk saya dengan versi Jetpack
2.1.1
dan versi WordPress3.5
Tetapi Anda harus menetapkan aturan abaikan untuk file ini atau sesuatu seperti itu jika Anda ingin agar plugin berfungsi dengan baik di situs langsung karena lebih baik terhubung dengan cara yang sebenarnya daripada meng-hardcoding flag yang aktif.
sumber
Jika Anda ingin fungsionalitas Jetpack penuh , lingkungan pengembangan Anda harus dapat diminta secara publik. Anda dapat mengatur ini dengan menjadikan alamat dev Anda sebuah subdomain, misalnya sandbox.mysite.com, mengatur catatan DNS untuk menunjuk ke alamat IP di mana server pengembangan Anda berada, dan mungkin mengkonfigurasi router / firewall Anda untuk memungkinkan permintaan port 80 melalui ke mesin Anda.
Pilihan lain adalah menjalankan lingkungan pementasan, dan menggunakannya untuk apa pun yang terkait dengan Jetpack. Pementasan lingkungan memiliki banyak keuntungan, jadi itu akan menjadi investasi yang berharga untuk mengaturnya.
sumber
The
jetpack_development_mode
filter:Saya hanya ingin menyebutkan
jetpack_development_mode
filter.Anda cukup menggunakan:
untuk menjalankan JetPack secara lokal.
Plugin kecil:
Untuk menghindari keharusan memodifikasi
wp-config.php
file dengan trik biasa:Anda sekarang dapat mengontrolnya melalui plugin kecil ini:
Anda dapat memeriksanya di GitHub .
sumber
Perbaikan pada http://ravendevelopers.com/node/57 MUNGKIN tidak berfungsi dengan versi Jetpack di atas 2.x. Jika tidak berfungsi pada versi 2.x cobalah menginstal Jetpack di situs langsung Anda terlebih dahulu seperti (example.com), sambungkan ke wordpress.com dan kemudian impor pengaturan dari situs langsung Anda ke localhost / contoh yang harus sama (pengaturan yang diimpor dari example.com mungkin tidak berfungsi dengan localhost / example2). Hal yang Anda lakukan di situs langsung, pastikan pengaturan yang diimpor adalah untuk situs yang sama di hosting Anda.
sumber
Hmm, sepertinya jawaban Anda bisa disederhanakan. Terapkan perubahan ini dan saya akan memilih jawaban Anda.
Karena is_active () mengembalikan true, Anda hanya perlu mengubah satu baris di admin_page ():
1.
ubah nilainya$is_user_connected
menjaditrue
sumber
is_active
fungsi di JetPack, itu sebabnya solusinya tampak mubazir, tetapi tidak :)