Skip to content
This repository was archived by the owner on Feb 6, 2023. It is now read-only.

isotopsweden/wp-cargo

Repository files navigation

Cargo Build Status codecov Maintainability Test Coverage

Requires PHP 7.1 and WordPress 4.6

Cargo will push content to other services. If the push failes the content JSON will be saved in the database for the queue.

Installation

composer require isotopsweden/wp-cargo

Usage

Example configuration:

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:

add_filter( 'cargo_prepare_meta_value', function ( $object_id, $slug, $value, $type ) {
  return $value;
}, 10, 4 );

Modify content data before push:

add_filter( 'cargo_modify_content_data', function ( $data, $type ) {
  return $data;
}, 10, 2 );

Run queue with WP-CLI:

wp cargo run

Push all content with WP-CLI:

wp cargo run --all

License

MIT © Isotop

About

Cargo will push content to other services

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors