我正在尝试为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是唯一一个输出的,它在管理面板中输出(管理面板的其余部分不输出,只输出从方法生成的内容)。
所以我如何解决这个问题呢? 我可以做一个替代方案来实现相同的结果吗?提前谢谢!
答案 0 :(得分:1)
输入error_log消息以找出路径,当它只在admin中显示您的文本时,然后从那里捕获它。难以猜测,但您需要使用错误日志进行调试。