我正在尝试为 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是唯一被输出的,它在管理面板中输出(管理面板的其余部分不输出,只输出方法生成的内容)。
那么我如何处理这个有什么问题吗?我可以做些什么来达到相同的结果吗?提前致谢!