$POST在具有自定义POST类型的AJAX插件中不起作用

时间:2011-07-16 作者:Odyss3us

我正在尝试创建一个可以将两篇文章相互关联的插件,为此我尝试使用AJAX,但在使用$post->ID.

我正在尝试将我创建的自定义帖子类型相互关联,当我测试AJAX时,它工作得非常完美。

这是代码,

function eu_database_return(){

    global $wpdb;
    global $post;

    if(isset($_POST)){
        //insert the relation into the database
        $wpdb->insert(\'eu_relations\', array(\'id\' => NULL, \'item_id\' => $post->ID, \'related_item_id\' => $_POST[\'post_id\']));
    }

    echo \'added into the database\';

    die();
}
这是我的AJAX功能,用于将数据保存到数据库中,知道我做错了什么吗?

1 个回复
SO网友:Milo

如果我理解正确的话,这是一个AJAX请求,没有$post var,因为在此请求中没有从数据库加载任何内容。您必须同时传递要与之关联的ID和要从中关联的ID,当前请求中两者都不存在。

结束

相关推荐

Wp_ajax_nopriv_xxx不是在一个站点上运行,而是在所有其他站点上运行。-1用于已注销的用户

我的插件使用add\\u操作wp_ajax_cl_ajax 和wp_ajax_nopriv_cl_ajax 在它的代码和数千个使用它的站点上,这很好,但有一个站点不适合注销的用户登录的用户很好,代码向ajax发送请求,所有内容都会很好地返回。在其他博客上,注销用户也可以,但就在这一个博客上,ajax请求返回了a-1。我已经在插件中添加了调试代码,以便在do\\u ajax函数中使用一条消息,但它甚至没有到达该函数。以下是注销用户ajax的操作add_action(\'wp_ajax_nopriv_cl_a