您需要按照以下步骤在WordPress中正确调用ajax函数,
注册并本地化您的脚本,例如。
wp_register_script(
\'*handle_name*\'
, *js_file_path*
, array(
*dependency_name*
)
, true
, true
);
它将在页脚加载脚本。请参阅以下链接:
https://developer.wordpress.org/reference/functions/wp_register_script/ wp_localize_script(
\'*handle_name*\'
, \'*a_unique_name_to_call_this_object*\'
, array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\' ),
\'if_require_any_more_field\' => \'necessary_value\',
)
);
它将创建一个具有两个属性的js对象,
ajaxurl 以及if\\u require\\u any\\u more\\u字段。请参阅以下链接:
https://codex.wordpress.org/Function_Reference/wp_localize_script然后将脚本排队wp_enqueue_script(\'*handle_name*\');
在javascript/jQuery代码中
var formDate = jQuery(\'#tpform1\').serialize();
var data = {
action : \'trade_partners\',
form : formData
}
$.post(unique_object_name.ajaxurl, data, function(response) {
alert(response);
});
现在是时候在中编写php ajax调用函数了
functions.php
文件(用于最佳实践)
add_action(\'wp_ajax_trade_partners\', \'custom_action\');
add_action(\'wp_ajax_nopriv_trade_partners\', \'custom_action\');
function custom_action() {
global $wpdb;
echo "<pre>";
print_r($wpdb);
}
如果您使用在该php文件中编写js代码,那么您可以直接跳入
3rd step
, 并且在
script tag
您需要创建一个具有ajaxurl的变量,例如:
var ajaxurl = "<?php echo admin_url( \'admin-ajax.php\' ); ?>";
并修改实际ajax函数调用的行,
$.post(ajaxurl, data, function(response) {
alert(response);
});