When I call switch_to_blog()
switch_to_blog()
with a blog id, I don’t know whether that blog actually exists. The function returns always TRUEtrue
.
Test case:
switch_to_blog( PHP_INT_MAX );
$post = get_post( 1 );
restore_current_blog();
switch_to_blog(PHP_INT_MAX);
$post = get_post(1);
restore_current_blog();
This will result in database errors whichthat are exposed to the user. How can I prevent that?
Real world-world use case
I was the lead developer of Multilingual PressMultilingualPress. When a user translates a post, she gets a screen like this:
Now the following can happen:
- She saves the post successfully and continues translating the post.
- Another user, a network admin, deletes the German blog while she is writing.
- She hits save again and gets database errors.
I want to avoid that scenario. How can I check quickly if the target blog exists? I call switch_to_blog()
very often in multiple different classes, so it has to be fast.