从AJAX-设置API创建新选项(ADD_OPTION)

时间:2016-09-23 作者:Namone

我正在制作一个插件,需要使用\'add_option()\' 功能-或达到相同结果的东西。

这就是我所使用的AJAX:

// localize script
wp_localize_script(\'button-js\', \'the_ajax_script\', array(\'ajaxurl\' => admin_url(\'admin-ajax.php\')));
是什么启动了PHP函数:

add_action(\'wp_ajax_process_form\', array($this, \'process_ajax\'));
在我的AJAX运行(我的AJAX代码如下)之后,我需要在名为的函数中运行add_option():

function post(num) {

    var data = {
        action : \'process_form\',
        form_number : num   
    };

    $.post(the_ajax_script.ajaxurl, data).error(
        function() {
            alert(\'error\');
        }).success(function() {
            console.log(data);
        });

        return false;
}   
下面是AJAX运行的函数:

public function process_ajax() {
    $num = $_POST[\'form_number\'];

    if(isset($num)) {
        add_option(\'form-num\', $num); 
    }

    die();

}
我的AJAX代码运行成功,并且正确的值被记录到控制台中-但是使用

<?php echo get_option(\'form_num\'); ?>
该值为空。

1 个回复
最合适的回答,由SO网友:Namone 整理而成

我最终解决了这个问题,使用了一个隐藏的表单字段,并通过JQuery将值更新到隐藏字段,然后在发布from时将这些数据发布到服务器上(通过method=“POST”)。