function __construct() { register_activation_hook(__FILE__, array(__CLASS__, 'br_add_defaults')); register_uninstall_hook(__FILE__, array(__CLASS__, 'br_delete_plugin_options')); if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) && br_get_woocommerce_version() >= 2.1) { add_action('admin_menu', array(__CLASS__, 'br_add_options_page')); add_action('admin_init', array(__CLASS__, 'register_br_options')); add_action('init', array(__CLASS__, 'init')); add_shortcode('br_filters', array(__CLASS__, 'shortcode')); add_filter('loop_shop_per_page', array(__CLASS__, 'loop_shop_per_page'), 99); if (@$_GET['filters'] and !@defined('DOING_AJAX')) { add_filter('pre_get_posts', array(__CLASS__, 'apply_user_filters')); } if ($_GET['explode'] == 'explode') { add_action('woocommerce_before_template_part', array('BeRocket_AAPF_Widget', 'pre_get_posts'), 999999); add_action('wp_footer', array('BeRocket_AAPF_Widget', 'end_clean'), 999999); add_action('init', array('BeRocket_AAPF_Widget', 'start_clean'), 1); } } else { if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) { add_action('admin_notices', array(__CLASS__, 'update_woocommerce ')); } else { add_action('admin_notices', array(__CLASS__, 'no_woocommerce')); } } }
<?php define('BEROCKETAAPF', 'BeRocket_AAPF_Widget'); /* Widget */ function BeRocket_AAPF_load_widgets() { register_widget('BeRocket_AAPF_widget'); } require_once dirname(__FILE__) . '/functions.php'; if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) && br_get_woocommerce_version() >= 2.1) { add_action('widgets_init', 'BeRocket_AAPF_load_widgets'); add_action('wp_ajax_nopriv_berocket_aapf_listener', array('BeRocket_AAPF_Widget', 'listener')); add_action('wp_ajax_berocket_aapf_listener', array('BeRocket_AAPF_Widget', 'listener')); } /** * BeRocket_AAPF_Widget - main filter widget. One filter for any needs */ class BeRocket_AAPF_Widget extends WP_Widget { /** * Constructor */ function BeRocket_AAPF_Widget() { /* Widget settings. */ $widget_ops = array('classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', BeRocket_AJAX_domain)); /* Widget control settings. */ $control_ops = array('id_base' => 'berocket_aapf_widget'); /* Create the widget. */ if (strcmp($wp_version, '4.3') < 0) { $this->WP_Widget('berocket_aapf_widget', __('AJAX Product Filters', BeRocket_AJAX_domain), $widget_ops, $control_ops);