2014-12-11 2 views
0

나는 wordpress에 플러그인을 작성 중입니다. 그 사이에 아약스 호출을하려고하는데, 찾고있는 PHP 파일에 데이터를 게시 할 수 없습니다. 지금까지 내가 많이 봤 거든 일부 코드 조각을 찾을 수 있지만 아무것도 내가 찾고있는 방식으로 작동하는 것 같습니다.내 맞춤형 WordPress 플러그인에서 ajax 호출을 만들 수 없습니다.

다음은 현재 구현중인 코드입니다.

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

나머지 데이터베이스 작업을 수행하려면 내 플러그인 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 
} 

를 AJAX 작업을 넣어 전화 :

<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

관련 문제