在PHP函数中使用AJAX响应

时间:2012-09-02 作者:INT

好的,我正在开发一个插件,但遇到了一个问题。

下面是我正在做的:
1。使用带有Plupload的metabox将图像上载到插件文件夹中的上载目录
2。上载成功后,将调用脚本并在jCrop中初始化图像
3。裁剪后的图像将使用带有ajax的表单进行处理并保存到插件文件夹中的另一个目录中
4。图像处理成功后,将传回此新裁剪文件的文件名。

这就是我被困的地方。我现在要做的是使用我传回的文件名,并在Wordpress中使用它进行进一步处理。

到目前为止,一切都已得到处理,没有涉及任何特定于WP的代码。

我现在想的是$.get 要将文件名传递到插件文件夹中的独立php文件,请使用require_once(\'wp-load.php\'); 可以在其中使用Wordpress功能。但在阅读《我来了》的时候,有多篇帖子说你不应该这样做。

所以基本上,我的问题是,我该怎么做:

jQuery.ajax({  
    type: "POST",  
    url: plugin_path + "process.php",  
    data: dataString,
    success: function (data) {
        var obj = jQuery.parseJSON(data);
        if (obj.response == \'success\') {
            return obj.tempfile; // PASS THIS ON FOR WP INTERACTION
        } else {
            alert(\'sorry there was an error\');
        }
    }
}); 
至此处:

$video_thumb_url = obj.tempfile; // THIS IS WRONG, BUT JUST TO PROVE POINT 

$result = media_sideload_image($video_thumb_url, $post_id, \'video_thumbnail\');
$attachments = get_posts(array(\'numberposts\' => \'1\', \'post_parent\' => $post_id, \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'order\' => \'ASC\'));

if(sizeof($attachments) > 0){
    // set image as the post thumbnail
    set_post_thumbnail($post_id, $attachments[0]->ID);
}  
提前感谢

P、 美国真的很难为这部电影找到一个标题,如果你知道更合适的,请告诉我/编辑一下,谢谢。

1 个回复
最合适的回答,由SO网友:Otto 整理而成

与其编写自己的PHP文件并尝试引入WordPress功能,不如使用AJAX挂钩将功能放在WordPress中,这些挂钩就是专门用来做这类事情的。

更多信息请点击此处:http://codex.wordpress.org/AJAX_in_Plugins

结束

相关推荐

如何将Archives.php中的循环修改为每个页面有11个帖子和CSS样式

我在档案中编辑了我的循环。php,以便使用分页和类别帖子列表小部件。我基本上是根据随机代码和想法拼凑起来的,现在离默认的post查询还很远,我很难回到原点。我需要回到原点的原因是我需要两件事:1) 当我的帖子有两个分类标签时,我的代码把我的分类帖子搞乱了。当这种情况发生时,他们被放在错误的类别中(或者根本没有被放在)。2) 通过这种自定义编码,我也丢失了对“标记”的查询,因此标记页面无法正常工作。我需要回到原点,这样我可以设置标签和分类帖子,以便正确显示,但在正确的范围内<li>这是我的风格。