WP All Import

Importing posts

By default, WP All Import plugin will trigger the actions twice for each post imported.

// Add our proxy action to the trigger.
add_action( 'notification/trigger/registered', function( $trigger ) {

	if ( preg_match( '/wordpress\/(?!.*(plugin|theme)).*\/added/', $trigger->get_slug() ) ) {
		$trigger->add_action( 'notification_pmxi_added_post', 10, 3 );
	}

	if ( preg_match( '/wordpress\/(?!.*(plugin|theme)).*\/updated/', $trigger->get_slug() ) ) {
		$trigger->add_action( 'notification_pmxi_updated_post', 10, 3 );
	}

} );

// Proxy action.
add_action( 'pmxi_saved_post', function( $post_id, $node, $is_update ) {
	if ( ! $is_update ) {
		do_action( 'notification_pmxi_added_post', $post_id, get_post( $post_id ), false );
	} else {
		do_action( 'notification_pmxi_updated_post', $post_id, get_post( $post_id ), get_post( $post_id ) );
	}
}, 10, 3 );

// Disable postponing.
add_filter( 'notification/integration/gutenberg', function( $initial ) {
	if ( defined( 'WP_IMPORTING' ) && WP_IMPORTING ) {
		return false;
	}
	return $initial;
} );

add_filter( 'notification/integration/custom_fields/should_postpone_save_post', function( $initial ) {
	if ( defined( 'WP_IMPORTING' ) && WP_IMPORTING ) {
		return false;
	}
	return $initial;
} );

Last updated

Was this helpful?