这是我第一次尝试在WordPress中启动ajax。我知道我犯了一个错误,就是不让我的ajax运行,所以请帮我弄清楚。
这是我的js代码-
这是我的ajax代码-您需要按照以下步骤在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);
});
我在wordpress自定义程序中添加了一个新的自定义按钮,我的目标是在自定义程序中创建一个按钮,然后在另一个自定义程序中启动特定功能。php文件。我有两个问题,一个是,只有当我想要激发的函数在其中任何一个函数中时,它才会起作用。php或自定义自定义程序。php。我的第二个问题是,只有当它是活动主题时,它才起作用。我对ajax和定制器还很陌生,所以感谢您的帮助。 //////////////////////////////////////////////////////// inside m