HEX
Server: Apache
System: Linux webd006.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: zwafgyp (177615)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/zwafgyp/lacalita/wp-content/plugins/woo-poly-integration/src/Hyyan/WPI/Widgets/LayeredNav.php
<?php

/**
 * This file is part of the hyyan/woo-poly-integration plugin.
 * (c) Hyyan Abo Fakher <hyyanaf@gmail.com>.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Hyyan\WPI\Widgets;

/**
 * LayeredNav.
 *
 * @author Hyyan Abo Fakher <hyyanaf@gmail.com>
 */
class LayeredNav
{
    /**
     * Construct object.
     */
    public function __construct()
    {
        add_action('init', array($this, 'layeredNavInit'), 1000);
    }

    /**
     * Layered Nav Init.
     *
     * @global array $_chosen_attributes
     *
     * @return false if not layered nav filter
     */
    public function layeredNavInit()
    {
        if (
                !(is_active_widget(false, false, 'woocommerce_layered_nav', true) &&
                !is_admin())
        ) {
            return false;
        }

        global $_chosen_attributes;

        $attributes = wc_get_attribute_taxonomies();
        foreach ($attributes as $tax) {
            $attribute = wc_sanitize_taxonomy_name($tax->attribute_name);
            $taxonomy = wc_attribute_taxonomy_name($attribute);
            $name = 'filter_'.$attribute;

            if (!(!empty($_GET[$name]) && taxonomy_exists($taxonomy))) {
                continue;
            }

            $terms = explode(',', $_GET[$name]);
            $termsTranslations = array();

            foreach ($terms as $ID) {
                $translation = pll_get_term($ID);
                $termsTranslations [] = $translation ? $translation : $ID;
            }

            $_GET[$name] = implode(',', $termsTranslations);
            $_chosen_attributes[$taxonomy]['terms'] = $termsTranslations;
        }
    }
}