为了账号安全,请及时绑定邮箱和手机立即绑定

如何让ob_start()在Wordpress插件中的类中工作?

如何让ob_start()在Wordpress插件中的类中工作?

PHP
元芳怎么了 2021-05-07 14:08:35
我试图将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 8Notice:  ob_start(): failed to create buffer in \wp-content\plugins\timeline-plugin\obstart.php on line 8Warning:  Cannot modify header information - headers already sent by (output started at \wp-includes\formatting.php:5520) in \wp-includes\pluggable.php on line 1251Warning:  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在课堂上工作?如果是,我哪里出问题了?
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

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' ) );


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信