# ever-compare/1.3.3/includes/classes/Ajax.php

Ever Compare – Products Compare Plugin for WooCommerce, version 1.3.3. 63 lines.

- Page: https://pluginprobe.com/plugins/ever-compare/1.3.3/code/includes/classes/Ajax.php
- Raw: https://pluginprobe.com/plugins/ever-compare/1.3.3/raw/includes/classes/Ajax.php
- Modified: 2024-09-01T05:15:04+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ever-compare/1.3.3/code/includes/classes/Ajax.php#L10-L20`.

```php
<?php
namespace EverCompare;
/**
 * Ajax handlers class
 */
class Ajax {

    /**
     * [$_instance]
     * @var null
     */
    private static $_instance = null;

    /**
     * [instance] Initializes a singleton instance
     * @return [Ajax]
     */
    public static function instance() {
        if ( is_null( self::$_instance ) ) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }
    
    /**
     * Initialize the class
     */
    private function __construct() {

        // Add Ajax Callback
        add_action( 'wp_ajax_ever_compare_add_to_compare', [ $this, 'add_to_compare' ] );
        add_action( 'wp_ajax_nopriv_ever_compare_add_to_compare', [ $this, 'add_to_compare' ] );

        // Remove Ajax Callback
        add_action( 'wp_ajax_ever_compare_remove_from_compare', [ $this, 'remove_from_compare' ] );
        add_action( 'wp_ajax_nopriv_ever_compare_remove_from_compare', [ $this,'remove_from_compare' ] );

    }

    /**
     * [add_to_compare] Product add ajax callback
     */
    public function add_to_compare(){
        check_ajax_referer('ever_compare_nonce', 'nonce');
        if(!empty($_GET['id'])) {
            $id = sanitize_text_field( wp_unslash($_GET['id']) );
            \EverCompare\Frontend\Manage_Compare::instance()->add_to_compare( $id );
        }
    }

    /**
     * [remove_from_compare] Product delete ajax callback
     * @return [void]
     */
    public function remove_from_compare(){
        check_ajax_referer('ever_compare_nonce', 'nonce');
        if(!empty($_GET['id'])) {
            $id = sanitize_text_field( wp_unslash($_GET['id']) );
            \EverCompare\Frontend\Manage_Compare::instance()->remove_from_compare( $id );
        }
    }

}
```
