接收和处理发布数据的wordpress文件(投票)

时间:2013-10-23 13:41:30

标签: php ajax wordpress url postdata

我有jquery / ajax函数应该启动jquery upvote插件:

$('#topic').upvote();
var callback = function(data) {
    $.ajax({
        url: '/vote', //this url should point to the adequate file
        type: 'post',
        data: { up: data.upvoted, down: data.downvoted, star: data.starred }
    });
};

此功能应该指向哪个文件和哪个url?

2 个答案:

答案 0 :(得分:0)

为了做到这一点,你需要在wordpress安装的根目录中创建一个文件夹(即wp-config.php出现的位置和文件夹wp-content等) 在这里创建一个名为vote的文件夹。在此文件夹中创建一个index.php文件并将相关代码放在那里。 然后你可以输入网址http://www.example.com/vote/index.php

或者从wordpress仪表板创建一个名为say vote的新页面。为此页面创建自定义模板。然后您可以通过以下网址访问它。 http://www.example.com/vote 然后,您可以通过模板php页面完成所有工作

第二种方法,但是你必须确保它不会出现在你的站点地图等中。尽管建议在robots.txt中添加一些内容以阻止这些页面被编入索引。

答案 1 :(得分:0)

在wordpress中执行此操作的正确方法是将其直接发布到admin-ajax.php。在您执行此操作之前,您需要注册脚本并创建一个将在jquery示例中的“Action”调用中使用的函数

jQuery.ajax ({
    url:  ajaxurl,
    type: "POST", 
    data: {
        postCommentNonce: postCommentNonce,
                    //this is your action function that wp will used for your call
        action:           "stg_AjaxRetRequestl",
                    //used to pass a var this can be anything
        typekey:          "cgetList",  
    });

以下是您需要的其他内容的教程。 http://www.andrewmpeters.com/blog/how-to-make-jquery-ajax-json-requests-in-wordpress/。如果你想知道什么是ajaxurl,你可以通过本地化你的脚本来实现这一点。

    wp_localize_script ("stgjsfiles", "stgjs", array ("ajaxurl" => admin_url ("admin-ajax.php"), 
                        "postCommentNonce" => wp_create_nonce ("stg-post-nonce")));

搜索谷歌,有很多例子