我正在尝试将ob_start添加到我的Wordpress插件中的类中,如下所示:
class ObStart {
public static function callback($buffer){
return $buffer;
}
public static function add_ob_start(){
ob_start("callback");
}
public static function flush_ob_end(){
ob_end_flush();
}
}
add_action('init', array( 'ObStart', 'add_ob_start' ) );
add_action('wp_footer', array( 'ObStart', 'flush_ob_end' ) );
这似乎不起作用,而是导致此错误:
Warning: ob_start(): function 'callback' not found or invalid function name in <b>\wp-content\plugins\timeline-plugin\obstart.php on line 8
Notice: ob_start(): failed to create buffer in \wp-content\plugins\timeline-plugin\obstart.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at \wp-includes\formatting.php:5520) in \wp-includes\pluggable.php on line 1251
Warning: Cannot modify header information - headers already sent by (output started at \wp-includes\formatting.php:5520) in \wp-includes\pluggable.php</b> on line 1254
是否可以让ob_start在类中工作?如果是,我在哪里错了?
答案 0 :(得分:0)
class Obstart
{
public static function callback($buffer)
{
return $buffer;
}
public static function add_ob_start()
{
global $buffer;
ob_start( self::callback($buffer) );
}
public static function flush_ob_end()
{
ob_end_flush();
}
}
add_action('init', array( 'Obstart', 'add_ob_start' ) );
add_action('wp_footer', array( 'Obstart', 'flush_ob_end' ) );