Начиная с JetPack 2.2.1 теперь существует режим локальной разработки / отладки.
http://jetpack.me/2013/03/28/jetpack-dev-mode-release/
использовать:
define ('JETPACK_DEV_DEBUG', true);
в вашем wp-config, и вы должны иметь доступ к любым модулям, которые не требуют подключения для работы.
Обновление, поскольку около v3.3 другой локальный триггер разработки был добавлен через фильтр вместо определения.
Последняя версия доступна здесь: http://jetpack.me/support/development-mode/
Режим разработки автоматически включается, если у вас нет точки в имени хоста вашего сайта, т.е. localhost. Если вы используете другой URL, такой как mycooltestsite.local или что-то еще, вам нужно будет определить константу JETPACK_DEV_DEBUG.
Вы также можете включить режим разработки Jetpack через плагин, благодаря фильтру jetpack_development_mode:
add_filter( 'jetpack_development_mode', '__return_true' );
Начиная с Jetpack v3.9, теперь также имеется фильтр промежуточного режима, который заставляет сайт быть переоцененным как промежуточный сайт, а не как продукт: https://developer.jetpack.com/hooks/jetpack_is_staging_site/
add_filter( 'jetpack_is_staging_site', '__return_true' );
Requires Connection
в файлах модулей (jetpack/modules/*.php
). Таким образом, мы можем проверить, какие из них будут работать в режиме разработки или нет.Метод в ссылке, предоставленной @TracyRotton, кажется, не работает с Jetpack 2.0 и WordPress 3.4.2.
Даже реплицируя все поля базы данных, он не действует как связанный.
Поскольку вопрос OP касается синхронизации среды разработки и производства, возможно, это невозможно.
Я не проверял подробно, какие модули работают, а какие нет, но Jetpack можно обмануть, убедив, что он подключен, сделав следующую модификацию в файле
/plugins/jetpack/jetpack.php
.Внутри класса
Jetpack_Data
измените самую первую функцию,get_access_token
например:Или просто вставьте
return true;
вместо того,user_tokens
что мы можем скопировать изнутри опцииjetpack_options
.PS: первая версия этого ответа использовала еще одну хитрость. Здесь, это однострочная модификация, которая ловит все, в теории ...
источник
force_user_connection()
метод вpublicize/publicize-jetpack.php
. Даже с этим, однако, это все еще, кажется, не ведет себя точно так же, как будто это фактически связано. Я не копался в коде широко, но я подозреваю, что в коде есть еще много мест, которые нужно взломать, чтобы заставить его работать точно так же, как на живом сервере.JetPack можно обмануть, скопировав значения полей базы данных из активированной установки в вашу локальную установку.
При установке (удаленной) с подключенным JetPack выполните поиск в
wp_options
таблицеoption_name
полей, начинающихся сjetpack_
:jetpack_activated
jetpack_options
jetpack_nonce_{random_string}
jetpack_active_modules
Скопируйте эти поля и значения в вашу локальную базу данных установок.
Для получения более подробной информации об этом процессе см .: http://www.ravendevelopers.com/node/57
источник
Вдохновленный последним решением brasofilo, есть еще более простой способ, просто откройте jetpack.php, найдите
и заменить на это:
Кажется, это намного проще, чем играть с базой данных и работал для меня с версией Jetpack
2.1.1
и WordPress3.5
Но вы должны установить правило игнорирования для этого файла или что-то подобное, если вы хотите, чтобы плагин работал нормально на живом сайте, потому что лучше подключиться реальным способом, чем жестко кодировать активный флаг.
источник
Если вам нужна полная функциональность Jetpack, ваша среда разработки должна быть общедоступной. Вы можете настроить это, сделав свой адрес dev поддоменом, например, sandbox.mysite.com, указав в этой записи DNS IP-адрес, на котором расположен сервер разработки, и, возможно, сконфигурировав свой маршрутизатор / брандмауэр, чтобы разрешить запросы порта 80 через к вашей машине.
Другой вариант - запустить промежуточную среду и использовать ее для всего, что связано с Jetpack. Постановочные условия имеют много преимуществ, поэтому в любом случае было бы целесообразно их установить.
источник
jetpack_development_mode
Фильтр:Я просто хочу упомянуть
jetpack_development_mode
фильтр.Вы можете просто использовать:
запустить JetPack локально.
Крошечный плагин:
Чтобы избежать необходимости изменять
wp-config.php
файл обычным способом:теперь вы можете управлять им через этот крошечный плагин:
Вы можете проверить это на GitHub .
источник
Исправление на http://ravendevelopers.com/node/57 МОЖЕТ не работать с версиями Jetpack выше 2.x. Если он не работает в версии 2.x, попробуйте сначала установить Jetpack на ваш сайт, например (example.com), подключите его к wordpress.com, а затем импортируйте настройки с вашего сайта на ваш localhost / пример, который должен быть то же самое (настройки, импортированные с сайта example.com, могут не работать с localhost / example2). Это то, что вы делаете на своем живом сайте, убедитесь, что импортированные настройки для того же сайта на вашем локальном хосте.
источник
Хм, похоже, ваш ответ может быть упрощен. Примите это изменение, и я проголосую за ваш ответ.
Поскольку is_active () возвращает true, вам нужно изменить только одну строку в admin_page ():
1.
изменить значение$is_user_connected
наtrue
источник
is_active
JetPack есть 2 функции, поэтому решение кажется избыточным, но это не так :)