[wp-trac] [WordPress Trac] #60366: add call_for_blog for easy to switch blog and restore in multisite
WordPress Trac
noreply at wordpress.org
Mon Jan 29 09:48:09 UTC 2024
#60366: add call_for_blog for easy to switch blog and restore in multisite
-------------------------+-----------------------------
Reporter: denishua | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Keywords:
Focuses: |
-------------------------+-----------------------------
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);
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/60366>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list