使用ajax时让我困惑的一件事是die()
是necessary 在ajax回调函数的末尾。
另一个问题是,如果使用get_template_directory_uri()
使用子主题,然后获得parents文件夹。
如果您使用get_bloginfo(\'stylesheet_directory\')
你给我们一个儿童主题,然后你得到当前正在使用的儿童主题,我相信这在大多数情况下都是正确的。
这里是我试图展示的一个例子,我希望能帮助你。。。
把这个放进去(最好是儿童主题)functions.php
function jquery_stuff() {
wp_enqueue_script(\'jquery\');
wp_enqueue_script(\'scriptX\', get_bloginfo(\'stylesheet_directory\') . \'/jsfile.js\');
}
add_action( \'init\', \'jquery_stuff\');
//tells WP that this an function used for ajax
add_action(\'wp_ajax_coolContent\', \'coolContent\');
//Used for returning cool content
function coolContent() {
$msg = \'cool content\';
//Return content
echo json_encode($msg);
die();
}
jQuery (jsfile.js)
var coolContent = $.ajax({
type: \'POST\',
data:{
action: \'coolContent\', //This is the function that should be called on serverside
},
url: \'/wp-admin/admin-ajax.php\', //tells WP that it is ajax
dataType: \'json\'
});
coolContent.done(function(data) {
alert(data); //Should alert text "cool content"
});
coolContent.fail(function(ts) {
alert(ts.responseText);
});