Opened 2 years ago
Last modified 13 months ago
#60366 new enhancement
add call_for_blog for easy to switch blog and restore in multisite
| Reported by: | denishua | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Awaiting Review |
| Component: | General | Version: | |
| Severity: | normal | Keywords: | has-patch has-unit-tests |
| Cc: | Focuses: |
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);
Change History (3)
This ticket was mentioned in PR #8357 on WordPress/wordpress-develop by @sukhendu2002.
17 months ago
#1
- Keywords has-patch has-unit-tests added
#3
in reply to: ↑ 2
@
13 months ago
Replying to karmatosed:
See #60366.
Information for anyone who could be taking this ticket in the future:
This is a little typo, this revision, is referring to ticket #60196.
Version 0, edited 13 months ago by
(next)
Note:
See TracTickets
for help on using tickets.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
Trac ticket: https://core.trac.wordpress.org/ticket/60366