не удалось получить хук wp_ajax для работы в WordPress - PullRequest
1 голос
/ 10 января 2011
//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'" );
}

Возможно, я даже не уверен, что мой код находится в нужном месте, так как я не совсем понял пример WordPress.

Домашняя страница выполняет функцию плагина, которая выполняет вызов ajax.Я добавляю действия и направляю их в функцию обратного вызова в functions.php.Конечно, в этот момент обратный вызов не запускается.

Есть идеи?

1 Ответ

0 голосов
/ 28 ноября 2011

Вы должны публиковать данные в site_url ('/ wp-admin / admin-ajax.php') вместо вашего function.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...