나는 API에서 자동으로 데이터를 게시하는 wordpress 용 플러그인을 만들려고합니다.워드 프레스에서 출력 버퍼링
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 변수에 저장된다는 의미입니다. 하지만 대부분의 경우 메소드에서 반환 된 HTML 만 출력되어 관리자 패널에 출력됩니다 (나머지 관리자 패널은 출력되지 않고 메서드에서 생성 된 내용 만 출력됩니다).
이렇게 접근하는 방법에 문제가 있습니까? 동일한 결과를 얻으려면 내가 할 수있는 대안이 있습니까? 미리 감사드립니다!
헤더 앞에 html을 넣고 있습니까? 어떤 상황에서 어떤 문자가 어딘가에 반향되고 있는지 확인하십시오. 출력 시점에 문제가있는 것처럼 보입니다. –
'머리글 앞에'는 무엇을 의미합니까? 헤더 정보가 전송되기 전에 참조하는 경우. 그러면 나는 그렇지 않다고 추측한다. 그러나 그것을 어떻게 확인할 수 있습니까? 내가 물건을 출력하고있는 유일한 곳은 방법 안에 있고 다른 것은 없습니다. – user225269