2014-12-11 4 views
0

Я пишу плагин в wordpress. Между тем я пытаюсь сделать вызов ajax, но я не могу отправить данные в файл php, который я ищу. Да, я много гугл и нашел некоторые фрагменты кода, но, похоже, ничего не работает так, как я ищу.Невозможно сделать вызов ajax в моем пользовательском плагине Wordpress

Вот фрагмент кода, который я выполняю в настоящее время.

<script> 
    $(document).ready(function(){ 
     $('#status').change(function(){ 
      $.post("index.php", { id: "1", status: "2" }); 
     }); 
    }); 
</script> 

Я ищу перенаправление на файл plugins index.php, чтобы выполнить остальные операции с базой данных. Но перенаправление меня на страницу wp-admin/index.php.

ответ

0

Попробуйте это:

Поместите операцию АЯКС в главном файле плагина

add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); 
add_action('wp_ajax_my_action', 'my_action_callback'); 

function my_action_callback() { 
    global $wpdb; // this is how you get access to the database 

    $id = intval($_POST['id']); 
    $status = $_POST['status']; 

    echo 'whatever'; 

    die(); // this is required to terminate immediately and return a proper response 
} 

И называть вашу функцию АЯКС, как это:

<script> 
    jQuery(document).ready(function($){ 
     var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; 
     var data = { 
     'action': 'my_action', 
     'id' : '1', 
     'status': '2' 
     }; 
     // We can also pass the url value separately from ajaxurl for front end AJAX implementations 
     jQuery.post(ajaxurl, data, function(response) { 
     alert('Got this from the server: ' + response); 
     }); 
    }); 
</script> 
+0

Не кажется, работает! даже предупреждение срабатывает во время звонка! – Dreamer

+0

В каком файле вы добавили блок 'PHP'? –

+0

Кроме того, набрасывая мне ошибку на панели консоли: ReferenceError: ajax_url не определен – Dreamer

Смежные вопросы