Filters and Actions Documentation
The NS Cloner is built to be extended – it includes a lot of custom filters and actions so that it can easily be customized or added on to. Here is a non-exhaustive of some of the most commonly used hooks, which we’ll be documenting further over time:
Filters
Filter the available sites in the source and target site lists: ns_cloner_sites_list
add_filter( 'ns_cloner_sites_list', function( $sites ){
// Replace list of all sites with custom manual selection - useful for very large networks.
$sites = get_sites( [
'site__in' => [ 1, 2, 5, 8 ],
] );
return $sites;
});
Filter the excluded directory list when copying uploads: ns_cloner_dir_copy_ignore
add_filter( 'ns_cloner_dir_copy_ignore', function( $blacklist ){ $blacklist[] = 'some_plugin_directory_not_to_copy'; return $blacklist; });
Actions
Before a site is cloned: ns_cloner_process_init
add_action( 'ns_cloner_process_init', function(){ // Get array of all submitted cloner options. $request = ns_cloner_request()->get_request(); // Do something here. });
After a site is cloned: ns_cloner_process_finish
add_action( 'ns_cloner_process_finish', function(){ // Get array of all submitted cloner options and calculated variables. $request = ns_cloner_request()->get_request(); // Do something here. });