Ajax自定义函数在wordpress中返回0
Posted
技术标签:
【中文标题】Ajax自定义函数在wordpress中返回0【英文标题】:Ajax custom function return 0 in wordpress 【发布时间】:2021-10-17 06:40:17 【问题描述】:这是我的 test.php 页面,我尝试使用 ajax 函数在 WordPress 中获取数据并处理自定义页面。没有错误,但它在控制台上返回 0。请帮帮我
脚本函数呼叫页面以获取数据库的值 test.php
<!DOCTYPE html>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<div>
<table style="background-color: #0066ff; color: white;">
<tr >
<td>
<h2>Notification</h2>
</td>
<td >
<i class="fa fa-bell" aria-hidden="true" id="demo"></i>
</td>
</tr>
</table>
</div>
<script>
load();
function load()
var baseurl = '<?php echo site_url();?>';
var ajaxurl = baseurl + '/wp-content/themes/twentyeleven/fetch.php';
var ajaxurl = '<?php echo admin_url("admin-ajax.php");?>';
jQuery.ajax(
url:ajaxurl,
success:function(result)
console.log(result);
);
</script>
fetch.php
<?php
global $wpdb;
$data=$wpdb->get_results("SELECT * FROM `notification` WHERE to_id = 1154");
foreach ($data as $value)
// code...
$sender_id= $value->from_id;
$message= $value->meassage;
$sender_name = $value->from_name;
echo json_encode($message);
?>
【问题讨论】:
您的代码中有错字。您设置“$message”并回显 $meassage $message 中有一个额外的“a”,我也删除了它,但它不起作用,结果相同,它返回 0 请回显一个常数值,如echo 'hello';
以查看结果是否仍为 0。
在php代码末尾添加exit;
确保您在添加操作时使用了wp_ajax_nopriv
【参考方案1】:
在WordPress中使用add_action()
注册一个ajax响应函数。
请参阅 https://codex.wordpress.org/AJAX_in_Plugins 和 https://wpmudev.com/blog/using-ajax-with-wordpress/。
【讨论】:
感谢战利品先生,它帮助了我,现在我建议最好的方法是在 wordpress 中使用飞节来使用 ajax 请求。以上是关于Ajax自定义函数在wordpress中返回0的主要内容,如果未能解决你的问题,请参考以下文章
用 ajax 更新而不是替换 wordpress 自定义字段