2011-01-10 13 views
1
//the homepage 

$(document).ready(function(){ 

myplugin_cast_vote(20); 

}); 




//the plugin 

<?php 
add_action('wp_head', 'myplugin_js_header'); 

function myplugin_js_header() // this is a PHP function 
{ 
    // use JavaScript SACK library for Ajax 
    wp_print_scripts(array('sack')); 

    // Define custom JavaScript function 
?> 
<script type="text/javascript"> 
//<![CDATA[ 
function myplugin_cast_vote(posts) 
{ 



    $.post("<?php bloginfo('wpurl'); ?>/wp-content/themes/fullscreen/function.php", 
    { 
    action : "process_thumbs" , 
    numposts : posts, 
    results_div_id : output 
    });  



} // end of JavaScript function myplugin_cast_vote 

//]]> 
</script> 
<?php 
add_action('wp_ajax_process_thumbs', 'my_action_callback'); 
add_action('wp_ajax_nopriv_process_thumbs', 'my_action_callback'); 
} // end of PHP function myplugin_js_header 

?> 


//functions.php 


function my_action_callback(){ 
alert('sdfsdf'); 
$numposts = $_POST['numposts']; 
$results_id = $_POST['results_div_id']; 

die("document.getElementById('$results_id').innerHTML = '$numposts'"); 
} 

ワードプレスの例を本当に理解していなかったので、私のコードが適切な場所にあるとは確かではありません。ワードプレスでwp_ajaxフックを使うことができません

ホームページは、ajax呼び出しを行うプラグイン関数を実行します。私はアクションを追加し、functions.phpのコールバック関数に指示します。もちろん、その時点でコールバックは実行されていません。

アイデア?

答えて

0

function.phpの代わりにsite_url( '/ wp-admin/admin-ajax.php')にデータを投稿する必要があります

関連する問題