我有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?
答案 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")));
搜索谷歌,有很多例子