Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
elementor-pro
/
modules
/
woocommerce
/
conditions
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace ElementorPro\Modules\Woocommerce\Conditions; use ElementorPro\Modules\ThemeBuilder as ThemeBuilder; use ElementorPro\Modules\Woocommerce\Module; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class Product_Archive extends ThemeBuilder\Conditions\Condition_Base { private $post_type = 'product'; private $post_taxonomies; public function __construct( array $data = [] ) { $taxonomies = get_object_taxonomies( $this->post_type, 'objects' ); $this->post_taxonomies = wp_filter_object_list( $taxonomies, [ 'public' => true, 'show_in_nav_menus' => true, ] ); parent::__construct( $data ); } public static function get_type() { return 'archive'; } public function get_name() { return 'product_archive'; } public static function get_priority() { return 40; } public function get_label() { return __( 'Product Archive', 'elementor-pro' ); } public function get_all_label() { return __( 'All Product Archives', 'elementor-pro' ); } public function register_sub_conditions() { $this->register_sub_condition( new Shop_page() ); $this->register_sub_condition( new Product_Search() ); foreach ( $this->post_taxonomies as $slug => $object ) { $condition = new ThemeBuilder\Conditions\Taxonomy( [ 'object' => $object, ] ); $this->register_sub_condition( $condition ); } } public function check( $args ) { return is_shop() || is_product_taxonomy() || Module::is_product_search(); } }