php 使用switch_to_blog而不是restore_current_blog修补愚蠢的插件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 使用switch_to_blog而不是restore_current_blog修补愚蠢的插件相关的知识,希望对你有一定的参考价值。

<?php
// patch for stupid plugins using switch_to_blog instead of restore_current_blog
add_action( 'switch_blog', function( $new_blog, $prev_blog_id ){
	// avoid recursion, because switch_blog action is called by restore_current_blog too
	if( empty( $GLOBALS['_wp_switched_stack'] ) ){
		return;
	}

	if( $new_blog === get_current_blog_id() ){
		// prepare the stack in order to be emptied by restore_current_blog()
		$GLOBALS['_wp_switched_stack'] = array( get_current_blog_id() );
		
		// call what everyone should call: https://codex.wordpress.org/Function_Reference/restore_current_blog
		// "When calling switch_to_blog() repeatedly, either call restore_current_blog() each time"
		restore_current_blog();
	}
}, PHP_INT_MAX, 2 );

以上是关于php 使用switch_to_blog而不是restore_current_blog修补愚蠢的插件的主要内容,如果未能解决你的问题,请参考以下文章

php日志完成请求

Python re.findall 将输出打印为列表而不是字符串

回复:Joomla/PHP/Java/AJAX

在 PHP 中使用 FPDF 将两个 MultiCell 并排放置

php :: textarea 中的新行?

使用 RedBean PHP ORM 时如何确保表被某个列索引?