plugins - Update widget values from ajax function

I have widget like thisclass Test extends WP_Widget{public function __construct(){parent::__construct('proreco�

I have widget like this

class Test extends WP_Widget
{
    public function __construct()
    {
        parent::__construct(
            'proreco',
            __('Product recommender', 'password_domain'),
            array(
                'customize_selective_refresh' => true,
            )
        );
    }

    // The widget form (for the backend )
    public function form($instance)
    {
       
        // Set widget defaults
        $defaults = array(
            'email' => '',
            'password' => '',
            'limit' => '',
            'date' => ''
        );

        // Parse current settings with defaults
        extract(wp_parse_args(( array )$instance, $defaults)); ?>

        <p>
            <label for="<?php echo esc_attr($this->get_field_id('email')); ?>"><?php _e('Email', 'email_domain'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('email')); ?>"
                   name="<?php echo esc_attr($this->get_field_name('email')); ?>" type="email"
                   value="<?php echo esc_attr($email); ?>"/>
        </p>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('password')); ?>"><?php _e('Password:', 'password_domain'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('password')); ?>"
                   name="<?php echo esc_attr($this->get_field_name('password')); ?>" type="password"
                   value="<?php echo esc_attr($password); ?>"/>
        </p>
        <p id="TEST"></p>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('limit')); ?>"><?php _e('Limit', 'limit_domain'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('limit')); ?>"
                   name="<?php echo esc_attr($this->get_field_name('limit')); ?>" type="number"
                   value=""/>
        </p>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('date')); ?>">Date updated: </label>
            <?php
            echo esc_attr($date);
            ?>
        </p>
        <p>
            <button onclick="ExportData()" type="button">Export database</button>
        </p>

        <script>

            function ExportData() {
                var data = {
                    'action': 'export_database', // the name of your PHP function!
                };

                jQuery.ajax({
                    type: "POST",
                    url: ajaxurl,
                    data: data,
                    dataType: 'json',
                    error: function (data) {
                        alertify.notify(data.errors, 'error', 5);
                    }
                });
            }
        </script>

    <?php }


    public function update($new_instance, $old_instance)
    {

    }

    public function widget($args, $instance)
    {

    }
}

You will se that i have ajax function export_database that use to proceed some data. Is possible to update widget properties from this custom ajax function, not just submitting the form? Here is example of my ajax funcion

function export_database()
{   
    // HERE I HAVE TO UPDATE WIDGET PROPERTIES
    wp_die();
}

add_action('wp_ajax_export_database', 'export_database');  // for admins only
add_action('wp_ajax_nopriv_export_database', 'export_database'); // for ALL users

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742283218a4414873.html

相关推荐

  • plugins - Update widget values from ajax function

    I have widget like thisclass Test extends WP_Widget{public function __construct(){parent::__construct('proreco�

    1天前
    30

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信