automattic / jetpack-sync
允许同步到WP.com基础设施所需的一切。
Requires
- php: >=7.0
- automattic/jetpack-connection: ^4.0.3
- automattic/jetpack-constants: ^2.0.4
- automattic/jetpack-ip: ^0.2.3
- automattic/jetpack-password-checker: ^0.3.2
- automattic/jetpack-roles: ^2.0.3
- automattic/jetpack-status: ^4.0.1
Requires (Dev)
- automattic/jetpack-changelogger: ^4.2.6
- automattic/jetpack-search: @dev
- automattic/jetpack-waf: ^0.18.5
- automattic/wordbless: @dev
- yoast/phpunit-polyfills: ^1.1.1
Suggests
- automattic/jetpack-autoloader: Allow for better interoperability with other plugins that use this package.
- dev-trunk / 3.13.x-dev
- v3.13.0
- v3.12.0
- v3.11.0
- v3.10.0
- v3.9.1
- v3.9.0
- v3.8.1
- v3.8.0
- v3.7.1
- v3.7.0
- v3.6.0
- v3.5.1
- v3.5.0
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.1
- v3.2.0
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.2
- v3.0.1
- v3.0.0
- v2.16.6
- v2.16.5
- v2.16.4
- v2.16.3
- v2.16.2
- v2.16.1
- v2.16.0
- v2.15.1
- v2.15.0
- v2.14.0
- v2.13.1
- v2.13.0
- v2.12.0
- v2.11.1
- v2.11.0
- v2.10.5
- v2.10.4
- v2.10.3
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.0
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.1
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.60.1
- v1.60.0
- v1.59.2
- v1.59.1
- v1.59.0
- v1.58.1
- v1.58.0
- v1.57.4
- v1.57.3
- v1.57.2
- v1.57.1
- v1.57.0
- v1.56.0
- v1.55.2
- v1.55.1
- v1.55.0
- v1.54.0
- v1.53.0
- v1.52.0
- v1.51.0
- v1.50.2
- v1.50.1
- v1.50.0
- v1.49.0
- v1.48.1
- v1.48.0
- v1.47.9
- v1.47.8
- v1.47.7
- v1.47.6
- v1.47.5
- v1.47.4
- v1.47.3
- v1.47.2
- v1.47.1
- v1.47.0
- v1.46.1
- v1.46.0
- v1.45.0
- v1.44.2
- v1.44.1
- v1.44.0
- v1.43.2
- v1.43.1
- v1.43.0
- v1.42.0
- v1.41.0
- v1.40.3
- v1.40.2
- v1.40.1
- v1.40.0
- v1.39.0
- v1.38.4
- v1.38.3
- v1.38.2
- v1.38.1
- v1.38.0
- v1.37.1
- v1.37.0
- v1.36.1
- v1.36.0
- v1.35.2
- v1.35.1
- v1.35.0
- v1.34.0
- v1.33.1
- v1.33.0
- v1.32.0
- v1.31.1
- v1.31.0.1
- v1.31.0
- v1.30.8
- v1.30.7
- v1.30.6
- v1.30.5
- v1.30.4
- v1.30.3
- v1.30.2
- v1.30.1
- v1.30.0
- v1.29.2
- v1.29.1
- v1.29.0
- v1.28.2
- v1.28.1
- v1.28.0
- v1.27.6
- v1.27.5
- v1.27.4
- v1.27.3
- v1.27.2
- v1.27.1
- v1.27.0
- v1.26.4
- v1.26.3
- v1.26.2
- v1.26.1
- v1.26.0
- v1.25.0
- v1.24.2
- v1.24.1
- v1.24.0
- v1.23.3
- v1.23.2
- v1.23.1
- v1.23.0
- v1.22.0
- v1.21.3
- v1.21.2
- 1.21.1
- v1.21.0
- v1.20.2
- v1.20.1
- v1.20.0
- v1.19.4
- v1.19.3
- v1.19.2
- v1.19.1
- v1.19.0
- v1.18.1
- v1.18.0
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.1
- v1.15.0
- v1.14.4
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14.0
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.0
- v1.8.0
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- dev-release-v1.47.5
- dev-release-v1.31.0.1
- dev-fix/slack-workflow-branch-detection
- dev-fix/release-branch-typo
- dev-update/generate-branch-plugin
- dev-release-v1.23.3
- dev-release-v1.23.2
- dev-release-v1.21.0
- dev-release-v1.20.2
- dev-release-v1.20.1
- dev-release-v1.20.0
- dev-release-v1.19.4
- dev-release-v1.19.3
- dev-feature/reorg
- dev-release-v1.19.2
- dev-release-v1.19.1
- dev-release-v1.18.1
- dev-release-v1.18.0
- dev-release-v1.17.2
- dev-release-v1.17.1
- dev-release-v1.17.0
- dev-release-v1.16.4
- dev-release-v1.16.3
- dev-release-v1.16.2
- dev-release-v1.16.1
- dev-release-v1.16.0
- dev-release-v1.15.1
- dev-release-v1.15.0
- dev-release-v1.14.4
- dev-release-v1.14.3
- dev-release-v1.14.2
- dev-release-v1.14.1
- dev-release-v1.14.0
- dev-release-v1.13.2
- dev-release-v1.13.1
- dev-release-v1.13.0
- dev-try/jetpack-sync-composer-package
- dev-release-v1.12.4
- dev-release-v1.12.3
- dev-release-v1.12.2
- dev-release-v1.12.1
- dev-release-v1.12.0
- dev-release-v1.11.0
- dev-release-v1.10.0
- dev-release-v1.9.0
- dev-fork/jetpack-sync-v1.7.4+vip
- dev-update/jetpack-sync-v1.7.5
- dev-update/jetpack-sync-v1.6.2
This package is auto-updated.
Last update: 2024-09-20 20:46:17 UTC
README
允许同步到WordPress.com基础设施所需的一切。
开始使用
开始使用同步的最简单方法是使用 Jetpack 配置包。
配置所有同步模块启用的同步
假设有一个 $config
实例的 Automattic/Jetpack/Config
,以下代码将配置启用了所有模块的同步
$config->ensure( 'sync' )
配置具有有限功能的同步
可以通过提供要同步的数据的显式列表来限制同步功能。
使用配置包,可以将这些数据设置作为数组传递给 sync
的 ensure
调用。
以下是一个示例
$config->ensure(
'sync',
array(
'jetpack_sync_options_whitelist' => array( 'my_plugin_option' ),
)
);
或者,如果您更喜欢直接使用同步包,您可以使用 Main::set_sync_data_options
方法设置同步数据设置。例如
Jetpack\Sync\Main::set_sync_data_options(
array(
'jetpack_sync_options_whitelist' => array( 'my_plugin_option' ),
)
);
可配置的同步数据设置
以下是所有可配置的同步数据设置的列表
jetpack_sync_modules
要启用的同步模块的列表。默认情况下,所有同步模块都已启用。您可以通过以下方式传递同步模块数组来覆盖此行为
$config->ensure(
'sync',
array(
'jetpack_sync_modules' => array(
'Automattic\\Jetpack\\Sync\\Modules\\Posts', // Only sync Post related data.
)
)
);
需要注意的是,我们认为某些同步模块对于同步的正常运行是必需的,因此以下模块将始终启用,无论配置如何
Automattic\\Jetpack\\Sync\\Modules\\Options
Automattic\\Jetpack\\Sync\\Modules\\Callables
Automattic\\Jetpack\\Sync\\Modules\\Constants
Automattic\\Jetpack\\Sync\\Modules\\Full_Sync_Immediately
Automattic\\Jetpack\\Sync\\Modules\\Stats
Automattic\\Jetpack\\Sync\\Modules\\Updates
注意:同步当前仅支持配置默认同步模块的列表。任何同步已条件性加载的模块,如 WooCommerce
或 Search
,都是不可配置的。
jetpack_sync_options_whitelist
/ jetpack_sync_options_contentless
由同步选项模块控制,该模块是必需的。您可以通过指定以下显式选项列表来限制要同步的站点选项
$config->ensure(
'sync',
array(
'jetpack_sync_options_whitelist' => array( 'my_plugin_option' ),
)
);
需要注意的是,我们认为某些选项对于同步的正常运行是必需的,因此以下选项将始终同步,无论配置如何
jetpack_sync_non_blocking
,// 与同步相关的选项jetpack_sync_non_public_post_stati
,// 与同步相关的选项jetpack_sync_settings_comment_meta_whitelist
,// 与同步相关的选项jetpack_sync_settings_post_meta_whitelist
,// 与同步相关的选项jetpack_sync_settings_post_types_blacklist
,// 与同步相关的选项jetpack_sync_settings_taxonomies_blacklist
,// 与同步相关的选项jetpack_sync_settings_dedicated_sync_enabled
,// 与同步相关的选项blog_charset
,// 通用站点选项blog_public
,// 通用站点选项blogdescription
,// 通用站点选项blogname
,// 通用站点选项permalink_structure
,// 通用站点选项stylesheet
,// 通用站点选项time_format
,// 通用站点选项timezone_string
,// 通用站点选项active_plugins
,// 通用站点选项
传递选项列表将导致同步这些选项以及必需的选项。
传递空数组将仅同步必需的选项。
不配置此设置将导致同步所有默认选项,如同步定义的(请参阅 Automattic\Jetpack\Sync\Defaults::$default_options_whitelist
)
相同的逻辑适用于我们同步的“无内容”选项列表。对于这些选项,我们**不**同步内容,只同步选项名称——这对于不需要同步内容的敏感信息很有用。
这里的例外是,没有必需的选项。因此,传递一个空数组将导致**不**同步任何无内容选项。
不配置此设置将导致同步所有默认的无内容选项,这些选项由同步定义(请参阅Automattic\Jetpack\Sync\Defaults::$default_options_contentless
)。
jetpack_sync_callable_whitelist
/ jetpack_sync_multisite_callable_whitelist
由同步可调用模块控制,该模块是必需的。您可以指定以下显式调用列表来限制同步的调用:
$config->ensure(
'sync',
array(
'jetpack_sync_callable_whitelist' => array(
'my_plugin_settings' => array( 'My_Plugin_Class', 'get_settings' ),
),
)
);
在配置调用时,您需要传递一个关联数组,其中键是您的调用名称,值是对应的回调函数。请注意,我们认为以下调用列表对于同步正确运行是必需的,因此无论配置如何,以下调用都将同步:
site_url
home_url
get_plugins
get_themes
paused_plugins
paused_themes
timezone
wp_get_environment_type
wp_max_upload_size
wp_version
jetpack_connection_active_plugins
// 连接相关调用
传递调用列表将导致同步这些调用以及必需的调用。
传递一个空数组将导致仅同步必需的调用。
不配置此设置将导致同步所有默认调用,如同步定义(请参阅Automattic\Jetpack\Sync\Defaults::$default_callable_whitelist
)。
相同的逻辑适用于我们同步的多站点调用列表。
这里的例外是,没有必需的选项。因此,传递一个空数组将导致**不**同步任何多站点调用。
不配置此设置将导致同步所有默认的多站点调用,如同步定义(请参阅Automattic\Jetpack\Sync\Defaults::$default_multisite_callable_whitelist
)。
jetpack_sync_constants_whitelist
由同步常量模块控制,该模块是必需的。您可以指定以下显式常量列表来限制同步的常量:
$config->ensure(
'sync',
array(
'jetpack_sync_constants_whitelist' => array(
'MY_PLUGIN_CONSTANT'
),
)
);
请注意,我们认为以下常量列表对于同步正确运行是必需的,因此无论配置如何,以下常量都将同步:
ABSPATH
ALTERNATE_WP_CRON
ATOMIC_CLIENT_ID
AUTOMATIC_UPDATER_DISABLED
DISABLE_WP_CRON
DISALLOW_FILE_EDIT
DISALLOW_FILE_MODS
EMPTY_TRASH_DAYS
FS_METHOD
IS_PRESSABLE
PHP_VERSION
WP_ACCESSIBLE_HOSTS
WP_AUTO_UPDATE_CORE
WP_CONTENT_DIR
WP_CRON_LOCK_TIMEOUT
WP_DEBUG
WP_HTTP_BLOCK_EXTERNAL
WP_MAX_MEMORY_LIMIT
WP_MEMORY_LIMIT
WP_POST_REVISIONS
传递常量列表将导致同步这些常量以及必需的常量。
传递一个空数组将导致仅同步必需的常量。
不配置此设置将导致同步所有默认常量,如同步定义(请参阅Automattic\Jetpack\Sync\Defaults::$default_constants_whitelist
)。
jetpack_sync_post_meta_whitelist
由同步文章模块控制,该模块不是必需的。这意味着您还需要在jetpack_sync_modules
中添加文章模块,否则此设置将被忽略。您可以指定以下显式文章元数据列表来限制同步的文章元数据:
$config->ensure(
'sync',
array(
'jetpack_sync_modules' => array(
'Automattic\\Jetpack\\Sync\\Modules\\Posts', // Only sync Post related data.
),
'jetpack_sync_post_meta_whitelist' => array(
'my_custom_post_meta'
),
)
);
传递一个空数组将导致**不**同步任何文章元数据。
不配置此设置将导致同步所有默认的文章元数据,如同步定义(请参阅Automattic\Jetpack\Sync\Defaults::$post_meta_whitelist
)。
jetpack_sync_comment_meta_whitelist
由同步评论模块控制,该模块不是必需的。这意味着您还需要在 jetpack_sync_modules
中添加评论模块,否则此设置将被忽略。 您可以通过指定以下显式评论元列表来限制同步的评论元
$config->ensure(
'sync',
array(
'jetpack_sync_modules' => array(
'Automattic\\Jetpack\\Sync\\Modules\\Comments', // Only sync Comment related data.
),
'jetpack_sync_comment_meta_whitelist' => array(
'my_custom_comment_meta'
),
)
);
传递空数组将导致不同步任何评论元。
不配置此设置将导致同步所有默认的评论元,如同步定义(请参阅 Automattic\Jetpack\Sync\Defaults::$comment_meta_whitelist
)
jetpack_sync_capabilities_whitelist
由同步用户模块控制,该模块不是必需的。这意味着您还需要在 jetpack_sync_modules
中添加用户模块,否则此设置将被忽略。 您可以通过指定以下显式评论元列表来限制同步的能力
$config->ensure(
'sync',
array(
'jetpack_sync_modules' => array(
'Automattic\\Jetpack\\Sync\\Modules\\Users', // Only sync User related data.
),
'jetpack_sync_capabilities_whitelist' => array(
'list_users'
),
)
);
传递空数组将导致不同步任何能力。
不配置此设置将导致同步所有默认的能力,如同步定义(请参阅 Automattic\Jetpack\Sync\Defaults::$default_capabilities_whitelist
)
初始完整同步
当站点注册或用户授权时,会开始站点的初始完整同步。
Actions::do_only_first_initial_sync
可以使用 Actions::do_only_first_initial_sync
方法在站点尚未开始完整同步时启动初始完整同步。这在插件需要仅在未由其他插件启动的情况下启动初始完整同步时很有用。
示例
在您的WordPress插件中使用此包
如果您计划在您的WordPress插件中使用此包,我们建议您使用 Jetpack Autoloader 作为您的自动加载器。这将允许与其他使用此包的插件最大限度的互操作性。
安全
需要报告安全漏洞?请访问 https://automattic.com/security/ 或直接访问我们的安全漏洞赏金网站 https://hackerone.com/automattic。
许可协议
jetpack-sync 使用 GNU 通用公共许可证 v2(或更高版本) 许可