Cargo
Requires PHP 7.1 and WordPress 4.6, (*1)
Cargo will push content to other services. If the push failes the content JSON will be saved in the database for the queue., (*2)
Installation
composer require isotopsweden/wp-cargo
Usage
Example configuration:, (*3)
cargo()->set_config( [
'content' => [
'options' => ['siteurl', 'home']
],
'database' => [
'driver' => 'mysql',
'mysql' => [
'table' => 'wp_cargo'
]
],
'preview' => [
'fields' => ['post_id' => 'ID', 'post_type'],
'url' => 'http://example.com/_preview'
],
'pusher' => [
'driver' => 'http',
'http' => [
'url' => 'http://localhost:9988'
]
]
] );
Prepare meta fields, so you can hook into a custom fields plugin or something else:, (*4)
add_filter( 'cargo_prepare_meta_value', function ( $object_id, $slug, $value, $type ) {
return $value;
}, 10, 4 );
Modify content data before push:, (*5)
add_filter( 'cargo_modify_content_data', function ( $data, $type ) {
return $data;
}, 10, 2 );
Run queue with WP-CLI:, (*6)
wp cargo run
Push all content with WP-CLI:, (*7)
wp cargo run --all
License
MIT © Isotop, (*8)