0

API からデータを自動的に投稿する wordpress 用のプラグインを作成しようとしています。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 メッセージを入力し、管理者にテキストのみが表示されたら、そこからキャッチします。推測するのは難しいですが、エラー ログを使用してデバッグする必要があります。

于 2013-02-05T06:41:43.693 に答える