function scroll_load(){
var num_next=current_company()
//alert(num_next)
$('#loading').css('display', 'block')
$.ajax({
url: '<?php echo get_stylesheet_directory_uri().'/ajax.php?id=';?>'+num_next,
data:{year:current_year},
dataType: 'html',
success: function(html) {
$('#posts').append(html);
$('#loading').css('display', 'none')
},
error: function( jqXhr, textStatus, errorThrown ){
console.log( errorThrown );
}
});
}
这是我的功能我从ajax.php获取数据但是当我使用像插件短片的get_header这样的wordpress函数时,它会说致命错误任何一个帮助我谢谢
答案 0 :(得分:0)
首先,请查看https://codex.wordpress.org/AJAX_in_Plugins,因为它提供了如何在WordPress中使用AJAX的完整概述。
因此,您需要在AJAX调用中添加两项内容:
WordPress的AJAX网址。一个简单的方法是,如果您使用wp_localize_script
对Javascript进行排队,则可以使用 wp_localize_script( 'the-name-of-your-enqueued-script', 'ajax_url', admin_url( 'admin-ajax.php') );
将AJAX URL作为页脚中的变量。
action
为名为more_posts
的数据添加一个参数,WordPress将使用该参数将其连接到服务器上的某些操作。我会称之为add_action( 'wp_ajax_more_posts', 'more_posts_callback' );
add_action( 'wp_ajax_nopriv_more_posts', 'more_posts_callback' );
然后,在主题(或插件)中的functions.php文件中,添加一些add_action ...
more_posts_callback()
您需要“nopriv”和常规版本,因此登录并且未登录的用户可以获得相同的功能。
接下来,编写year
函数来执行您需要的任何操作。您可以从$_GET['year']
抓取echo
变量(假设您正在通过AJAX执行GET请求)
最后,要获得返回值,wp_die()
您的结果,然后确保运行wp_send_json($return)
。或者,如果要返回JSON对象,只需编写$return
,其中function more_posts_callback(){
$year = $_GET['year'];
..... // Your code to generate $return
echo $return;
wp_die();
}
是您希望从服务器返回的任何内容。
$year
现在,这不包括任何数据验证或身份验证,例如nonce或检查id Distance
00 0
01 0
02 0
03 0
04 0
05 10
06 0
07 0
08 0
09 0
10 16
11 0
12 0
13 6
是否为整数。
答案 1 :(得分:0)
如果找到它,哇,这就是答案
对于使用像do_shortcut()
这样的WordPress函数,必须在ajax url php文件中加载wp_load.php
这是代码应该在我的代码中使用,例如在ajax.php
$ parse_uri = explode(&#39; wp-content&#39;,$ _SERVER [&#39; SCRIPT_FILENAME&#39;]); require_once($ parse_uri [0]。&#39; wp-load.php&#39;); enter link description here
能够使用<?php echo do_shortcode('[ssba]'); ?>