0

我正在尝试为 wordpress 创建一个自动从 API 发布数据的插件。我已将生成 HTML 的代码放在一个类中:

class Poster{
  public function generateHTML($data){
      ob_start();
      /*
      some html and php code
      */
      $html = ob_get_contents();
      ob_end_flush();
      return $html;
  }
}

该事件在 admin_menu 操作上触发:

add_action('admin_menu', function(){
  /*
  get data from API
  */

  $poster = new Poster();
  $html = $poster->generateHTML($data);
  $post = array(
    'post_title' => $title,
    'post_content' => $html,
    'post_type' => 'post',
    'comment_status' => 'open',
    'ping_status' => 'open',
    'post_status' => 'publish'
   );



   wp_insert_post($post, $wp_error, true);    
});

我的代码有问题吗?它有时有效,但大多数时候无效。

“它可以工作”是指从该方法返回的 html,然后存储在 $html 变量中。但大多数时候,从方法返回的html是唯一被输出的,它在管理面板中输出(管理面板的其余部分不输出,只输出方法生成的内容)。

那么我如何处理这个有什么问题吗?我可以做些什么来达到相同的结果吗?提前致谢!

4

1 回答 1

1

放置一条 error_log 消息以找出路径,当它在 admin 中仅显示您的文本时,然后从那里捕获它。难以猜测,但您需要使用错误日志进行调试。

于 2013-02-05T06:41:43.693 回答