wc_update_330_webhooks()
Migrate webhooks from post type to CRUD.
Description Description
Source Source
File: includes/wc-update-functions.php
function wc_update_330_webhooks() {
register_post_type( 'shop_webhook' );
// Map statuses from post_type to Webhooks CRUD.
$statuses = array(
'publish' => 'active',
'draft' => 'paused',
'pending' => 'disabled',
);
$posts = get_posts(
array(
'posts_per_page' => -1,
'post_type' => 'shop_webhook',
'post_status' => 'any',
)
);
foreach ( $posts as $post ) {
$webhook = new WC_Webhook();
$webhook->set_name( $post->post_title );
$webhook->set_status( isset( $statuses[ $post->post_status ] ) ? $statuses[ $post->post_status ] : 'disabled' );
$webhook->set_delivery_url( get_post_meta( $post->ID, '_delivery_url', true ) );
$webhook->set_secret( get_post_meta( $post->ID, '_secret', true ) );
$webhook->set_topic( get_post_meta( $post->ID, '_topic', true ) );
$webhook->set_api_version( get_post_meta( $post->ID, '_api_version', true ) );
$webhook->set_user_id( $post->post_author );
$webhook->set_pending_delivery( false );
$webhook->save();
wp_delete_post( $post->ID, true );
}
unregister_post_type( 'shop_webhook' );
}