对于不能通过Wordpress完成的Silex服务器,您可以做的很少,但要让WP响应AJAX调用需要一些努力。
第一步是通过AJAX使调用可用。这需要在函数中添加一行。php文件类似于
add_action(\'wp_ajax_my_ajax_call\', \'onno_update_my_ajax_call\');
如果要为客人和客户(即非管理员)拨打此电话,您还需要该线路。
add_action(\'wp_ajax_nopriv_my_ajax_call\', \'my_ajax_call\');
它做同样的事情,但更具包容性。
下一步是创建ajax调用。你没有给出这样一个电话的例子,所以我所能做的就是建议你看一下$wpdb. WP有一组全面的调用,用于从数据库中检索信息,对于复杂的查询,您可以始终使用$wpdb->query(),它将为您运行任意SQL。
AJAX逻辑位于函数my\\u AJAX\\u call()中,结果应放入数组或对象中。函数的最后一行应该是调用wp\\u send\\u json\\u success($return),其中$return是要返回的信息的对象/数组。
通过使用该系统,我能够向wp\\U管理部分添加页面,允许店主根据WooCommerce数据和变体的侧载库(Woo仅允许父级库)创建进货订单。
下面是一个简单的例子:
function my_ajax_call() {
$return[\'data\'] = date(\'Y-m-d\');
wp_send_json_success($return);
wp_die();
}
然后在javascript中,需要执行更多步骤。首先,您需要WP-AJAX URL,它通常是
/wp-admin/admin-ajax.php
但可能会有所不同。它通常作为全局ajaxurl提供给Javascript,或者可能隐藏在另一个对象中,如
woocommerce.ajaxurl
. 您需要构造一个Javascript对象,其中包含一个指向函数的action元素以及可能需要传递给AJAX调用的任何其他变量。例如:
data = {\'action\':\'my_ajax_call\'}
或
data = {\'action\':\'my_ajax_call\', \'todo\':\'getDate\'}
(function($){
$.ajax{
url:ajaxurl,
data: data,
success: function(trn) {$(\'#data\').html(trn.data)}
})(jQuery)
HTH公司