Php 来自前端的Ajax调用无法使用wordpress
在WordPress中,从前端调用Ajax不起作用,我只想根据id从db中调用数据,这是我迄今为止尝试过的Php 来自前端的Ajax调用无法使用wordpress,php,ajax,wordpress,wp-admin,Php,Ajax,Wordpress,Wp Admin,在WordPress中,从前端调用Ajax不起作用,我只想根据id从db中调用数据,这是我迄今为止尝试过的 //Frontend view <a href="javascript:void(0)" onclick="getDetails(<?=$index;?>)" > <?php echo $value ?> </a> //Functions.php function my_enqueue() { wp_
//Frontend view
<a href="javascript:void(0)" onclick="getDetails(<?=$index;?>)" >
<?php echo $value ?>
</a>
//Functions.php
function my_enqueue() {
wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/assets/js/ajax-script.js', array('jquery') );
wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );
add_action('wp_ajax_nopriv_more_posts', 'get_more_posts');
function get_more_posts(){
// How to get id here to query for the database
echo "Hello World";
exit();
}
// Ajax scripts File
function getDetails(id)
{
jQuery.ajax({
url: more_posts.ajax_url,
type: "GET",
data: {
action: 'more_posts'
},
dataType: "html",
success: function(response){
alert(response);
}
});
}
//前端视图
//Functions.php
函数my_enqueue(){
wp_enqueue_script('ajax script',get_template_directory_uri()。/assets/js/ajax script.js',array('jquery');
wp_本地化_脚本('ajax脚本','my_ajax_对象',数组('ajax_url'=>admin_url('admin ajax.php'));
}
添加_操作('wp_排队_脚本','my_排队');
添加操作(“wp\u ajax\u nopriv\u more\u posts”,“get\u more\u posts”);
函数get_more_posts(){
//如何在此处获取id以查询数据库
呼应“你好世界”;
退出();
}
//Ajax脚本文件
函数getDetails(id)
{
jQuery.ajax({
url:more_posts.ajax_url,
键入:“获取”,
数据:{
行动:“更多帖子”
},
数据类型:“html”,
成功:功能(响应){
警报(响应);
}
});
}
我得到了这个错误
引用错误未定义更多\u帖子
//前端视图
//Functions.php
函数my_enqueue(){
wp_enqueue_script('ajax script',get_template_directory_uri()。/assets/js/ajax script.js',array('jquery');
wp_本地化_脚本('ajax脚本','my_ajax_对象',数组('ajax_url'=>admin_url('admin ajax.php'));
}
添加_操作('wp_排队_脚本','my_排队');
添加操作(“wp\u ajax\u nopriv\u more\u posts”,“get\u more\u posts”);
函数get_more_posts(){
//如何在此处获取id以查询数据库
呼应“你好世界”;
echo$_GET['id'];
退出();
}
//Ajax脚本文件
函数getDetails(id)
{
var id=id;
jQuery.ajax({
url:url:my_ajax_object.ajax_url,
键入:“获取”,
数据:{
行动:“获取更多帖子”,
id:id,
},
数据类型:“html”,
成功:功能(响应){
警报(响应);
}
});
}
这应该管用!您不需要带有“href
”、url:my_ajax\u object.ajax\u url
”的绝对路径或变量,因为您已经用wp\u enqueue\u script
添加了admin-ajax.php。谢谢你误会了
url: more_posts.ajax_url
因为本地化脚本名称是我的\u ajax\u对象
wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
试试这个
url: my_ajax_object.ajax_url
操作:“more_posts”-more_posts看起来不像有效的URL。将其更改为
/page/url/to/call
您应该定义更多的帖子,比如var more_posts='http://'@Sakezzz他不需要协议或域,只需要绝对路径谢谢,我现在让ajax工作了,有路径问题。如何在get_more_posts()函数中获取id?
url: my_ajax_object.ajax_url