如何在另一个add_action执行之后调用add_action

时间:2019-06-21 11:09:09

标签: ajax wordpress hook

我需要一个接一个地运行钩子,我尝试了第一个钩子可以工作但从未调用过的钩子的代码。我正在使ajax请求ajax请求成功,但部分动作函数(测试)未调用。

PHP / Wordpress

   <?php
    add_action( 'wp_ajax_my_action', 'my_action' );
    add_action('wp_ajax_my_action' , 'test');
    //add_action('my_action' , 'test');
    function my_action() {
    //global $wpdb; // this is how you get access to the database

    $one = $_POST['valone'];
    $two = $_POST['valtwo'];

    echo $sum = $one+$two;

    //test();

    wp_die(); // this is required to terminate immediately and return a proper response
    }
    function test(){
    echo "Hello World";
    }

2 个答案:

答案 0 :(得分:0)

在第一个挂钩中使用wp_die时,您将终止所有代码。这将终止PHP执行,并停止任何以后的代码运行。本质上,它将停止尝试执行的操作,并将其返回给AJAX调用。

答案 1 :(得分:0)

您可以尝试从第一个操作中调用相同的操作,如下所示,

add_action( 'wp_ajax_my_action', 'my_action' );

function my_action() {//global $wpdb; // this is how you get access to the database
$one = $_POST['valone'];
$two = $_POST['valtwo'];
echo $sum = $one+$two;
//test();
add_action('wp_ajax_my_action' , 'test');
wp_die(); // this is required to terminate immediately and return a proper response
}
function test(){
echo "Hello World";
}

希望这会有所帮助