如何在前端使用wp_update_post和AJAX

时间:2012-10-21 作者:Bennett

我一直在努力尝试在登录后在每篇帖子上实现一个前端帖子编辑器“侧栏”。

您可以通过一个测试帖子看到这里发生了什么:http://www.bennettfeely.com/test-post/. 在我让它工作后,它将受到限制,因此,当然,只有具有权限的用户才能访问前端编辑器。

以下是我目前使用的jQuery/Ajax的重要部分:

var post_data = $("#editor-post-form").serialize();  
.ajax({  
  type: \'POST\',  
  url: \'/wp-content/....../update.php\',  
  data: post_data
});
更新。php包括:

<?php            
        $post_id = $_POST[\'post_id\'];
        $post_title = $_POST[\'post_title\'];
        $post_content = $_POST[\'post_content\'];    

        $the_post = array();
        $the_post[\'ID\'] = $post_id;
        $the_post[\'post_title\'] = $post_title;
        $the_post[\'post_content\'] = $post_content;

        $post_id = wp_update_post($the_post);
?>
使用Chrome inspector的强大功能,更新。php正在发回一个错误500(内部服务错误)。但是,表单数据似乎发送正确。

我猜我遇到的任何问题都可能是由我犯的一些愚蠢的错误引起的。

任何帮助都将不胜感激。如果需要的话,我很乐意提供更多的信息或尝试澄清一些事情。

非常感谢。

1 个回复
SO网友:Pizaul

嗯……嗯。。。。我看你的代码没有问题。当我遇到500个时,通常是由于权限或htaccess错误地路由了请求。

也就是说,有一些事情需要尝试:1)在wp配置中。php,将debug WP\\u debug设置为true。这可能会提供更具描述性的错误消息。

2) Wordpress对AJAX有很好的集成。您可以定义一个url来检索所有ajax请求,然后处理来自函数的请求。通过添加操作。查看此项了解更多信息:http://codex.wordpress.org/AJAX_in_Plugins. 我经常使用其中描述的方法,但没有关联。

结束

相关推荐

为什么jQuery不能正常工作?

我已经将Google的jQuery排入队列,它显示在源代码中,但无论我将脚本放在哪里,它们似乎都不起作用。这是有问题的网站-http://www.deanelliott.me/handh/在靠近页面底部的地方,有一些推荐信,这些推荐信应该一次一个出现在幻灯片中,但是,正如你所看到的,这并没有发生。我无论如何都不是jQuery高手,但我可以坚持自己的观点,我以前从未遇到过任何问题。。。任何帮助都将不胜感激