Opened 9 months ago
#60366 new enhancement
add call_for_blog for easy to switch blog and restore in multisite
Reported by: | denishua | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | |
Component: | General | Keywords: | |
Focuses: | Cc: |
Description
add call_for_blog for easy to switch blog and restore in multisite
function call_for_blog($blog_id, $callback, ...$args){ try{ $switched = (is_multisite() && $blog_id && $blog_id != get_current_blog_id()) ? switch_to_blog($blog_id) : false; return call_user_func_array($callback, $args); }finally{ if($switched){ restore_current_blog(); } } }
usage:
call_for_blog(123, 'wp_update_post', ['ID'=>$id, 'post_title'=>$title]);
closure callback:
for_blog($shop_blog_id, function($id, $title){ $result = some_function(); if(is_wp_error($result)){ return $result; } $result = some_other_function(); if(is_wp_error($result)){ return $result; } return wp_update_post(['ID'=>$id, 'post_title'=>$title]); }, $id, $title);
Note: See
TracTickets for help on using
tickets.