isotopsweden / wp-syncs
Syncs 同步多站之间的文章和术语
v2.0.0
2021-11-01 03:32 UTC
Requires
- php: ^7
- composer/installers: ~1.0
Requires (Dev)
- isotopsweden/isotopcs: dev-master
- phpunit/phpunit: ^5 || ^6 || ^7
- roots/wordpress: ^5.8.1
- wp-phpunit/wp-phpunit: ^5.8.1
This package is auto-updated.
Last update: 2024-09-22 08:22:27 UTC
README
需要PHP 7.0和WordPress 4.6
Syncs 同步多站之间的附件、文章和术语
安装
composer require isotopsweden/wp-syncs
用法
文章类型示例配置
// With `register_post_type` register_post_type( 'book', [ 'syncs' => true ] ); // With the filter. add_filter( 'syncs_post_types', function ( $post_types ) { return ['page', 'post', 'book']; } );
分类法示例配置
// With `register_taxonomy` register_taxonomy( 'group', 'post', [ 'syncs' => true ] ); // With the filter. add_filter( 'syncs_taxonomies', function ( $taxonomies ) { return ['tag', 'category', 'group']; } );
同步工作原理
创建的数据
当在多站上创建新的文章、术语或附件时,它们将在其他多站上创建,并且所有对象ID将通过一个存储在 syncs
表中的全局同步ID进行链接,如下所示
所有同步ID都存储为对象的元数据,仅因为 WP_Query
,当你使用 get_metadata
读取 sync_id
时,它实际上是从 syncs
表中读取的。
更新数据
当在多站上更新文章、术语或附件时,主站是用户正在更新的多站。其他多站上的对象将被删除并重新创建,具有相同的全局同步ID,但具有新的对象ID。这就是为什么你不能使用对象ID作为ID,而是必须使用 sync_id
值。它可以通过 get_metadata
或 syncs()->get_sync_id( $object_id, $object_type, [$site_id = 0] )
访问
删除数据
当文章、术语或附件被删除时,它们将在所有多站上被删除,并且 sync_id
也将被删除。
WP CLI
你可以运行 wp syncs sync
来同步一个站点上的所有文章到其他所有站点。
许可证
MIT © Isotop