参见英文答案 > Calling PHP function from wordpress in ajax? 1个
我很难学习AJAX的基础知识,因为我设法找到了复杂的例子.事实上,我想做一件显而易见的事情,但我找不到任何简单的解决方案.有很多说明如何使用AJAX来检查各种形式等.但是这些技术在wordpress中的工作原理很少.
官方指示对我来说也没用:
https://codex.wordpress.org/AJAX_in_Plugins
我究竟需要什么?
例如,我在functions.PHP中有一些功能.让它成为一个简单的字符串:
<?PHP
function do_echo() {
echo "Hello";
}
现在,我想在帖子中创建一个按钮,并使用AJAX调用do_echo().
<button class="my_button" type="button" role="button">Click Me</button>
所以,我想要做的第一件事就是按下按钮然后得到“Hello,world!”显示.
当然,实际上,我需要执行更复杂的功能.但是,首先,我需要做这些简单的事情.
我意识到我需要使用jQuery做这样的事情
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script,
or html)',
data: {param1: 'value1'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
我知道我需要在PHP中做这样的事情
add_action('wp_ajax_(action)', 'my_action_callback');
add_action('wp_ajax_nopriv_(action)', 'my_action_callback');
但是我无法理解将这些东西附加到wordpress需要做些什么.
任何人都可以帮助我使用简单的指令如何在单击按钮时使用AJAX从wordpress中的functions.PHP调用任何PHP函数?
先感谢您.
解决方法:
好的,让我们为此编写简化示例.
这是functions.PHP的示例:
add_action('wp_ajax_nopriv_sayhello', 'say_hello_function');
add_action('wp_ajax_sayhello', 'say_hello_function');
function say_hello_function(){
echo 'hello';
exit();
}
这是前端部分:
<button class="my_button" type="button" role="button">Click Me</button>
<script>
jQuery(".my_button").click(function(){
jQuery.get(ajaxurl,{'action': 'sayhello'},
function (msg) { alert(msg);});
});
</script>
UPD:
<script>
jQuery(".my_button").click(function(){
jQuery.get(ajaxurl,{'action': 'sayhello'},
function (msg) { jQuery(".result_area").html(msg);});
});
</script>
要使上面的代码工作,你需要一个带有“result_area”类的div.
<div class="result_area"></div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。