2011-01-10 9 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'"); 
} 
zu erreichen

Ich könnte nicht einmal sicher, dass mein Code an der richtigen Stelle ist, da ich Wordpress Beispiel nicht wirklich verstanden habe.nicht wp_ajax Hook in WordPress

Die Homepage führt die Plugin-Funktion aus, die den Ajax aufruft. Ich füge die Aktionen hinzu und leite sie zur Callback-Funktion in functions.php. Natürlich wird zu diesem Zeitpunkt der Callback nicht ausgeführt.

Irgendwelche Ideen?

Antwort

0

Sie sollten Daten an site_url ('/ wp-admin/admin-ajax.php') anstelle Ihrer Funktion.php