ManageWP を使って Staging サイトと本番サイトの両方を管理していて、Staging サイトを本番サイトに Push するたびに本番サイトと ManageWP の接続が切れていませんか?
これを防ぐには、Staging サイトを本番に Push する際に、WP STAGING Pro に ManageWP の接続データを保持するように指示できます。
そのために、こちらから WP STAGING hooks Plugin をダウンロードしてインストールしてください: https://github.com/WP-Staging/wp-staging-hooks
この Plugin の詳細はこちらでご覧いただけます:
https://wp-staging.com/docs/actions-and-filters/
変更は手動で行うこともできますし、すでに作成済みの以下のコードを使うこともできます。コードをコピーして、サイトの次のフォルダにあるファイルに追加してください:wp-content/plugins/wp-staging-hooks/wp-staging-hooks.php
手動での変更
すでに WP STAGING Hooks Plugin をお使いの場合は、以下の手順に従って変更してください:
WP STAGING hooks のソースコード内に、wpstg_push_options_excl() という名前の関数と、wpstg_preserved_options という名前のアクションがあります。
有効化するには、次の行のコメントアウトを解除してください//add_action( 'wpstg_preserved_options', array($this, 'wpstg_push_options_excl'), 10 );
これを次のように変更します
add_action( 'wpstg_preserved_options', array($this, 'wpstg_push_options_excl'), 10 );
続いて、関数を以下のように変更します:
function wpstg_push_options_excl($options){
$moreOptions = array(
'mwp_service_key',
'mwp_openssl_parameters',
'mwp_incremental_update_active',
'mwp_public_keys_refresh_time',
'mwp_public_keys',
'mwp_communication_keys',
'mwp_key_last_used_d1d69698-e538-4af7-8804-4a6c9dbd498b',
'mwp_key_last_used_4799204',
'mwp_new_communication_established',
'_site_transient_mwp_sessions',
'mwp_last_communication_error',
'mwp_key_last_used_cb89c08f-0b91-4865-a9f7-90dbb74be66c',
'mwp_key_last_used_5594417',
'mwp_key_last_used_5ecf7cac-4e8b-43da-98d1-e1e379938e7e',
'mwp_key_last_used_7b9c9bd6-f0da-4c4e-a33f-02f230ae65a5',
'mwp_recovering',
'mwp_service_key',
'mwp_core_autoupdate',
'mwp_container_parameters',
'mwp_container_site_parameters',
'mwp_maintenace_mode',
'mwp_worker_configuration',
'mwp_key_last_used_d6868e04-ec36-40e7-8bab-485838cb5df6',
'mwp_key_last_used_bd3efed8-231b-4c0d-95a5-6964682a9498',
'mwp_communication_key',
'mwp_worker_brand',
'mwp_potential_key',
'mwp_potential_key_time',
'mwp_service_key'
);
return array_merge($options, $moreOptions );
}また、ManageWP の worker Plugin が Staging から本番にコピーされないように除外する必要もあります。Staging サイトを Push する前に手動で除外することもできますし、wpstg_exclude_folders_custom() 関数を変更することもできます。
function wpstg_exclude_folders_custom($args){
$folders = array('worker');
return array_merge($args, $folders);
}
add_filter('wpstg_push_excl_folders_custom', 'wpstg_exclude_folders_custom');また、次の行のコメントアウトも解除してください
//add_action( 'wpstg_push_excl_folders_custom', array($this, 'wpstg_push_directories_excl'), 10 );