'ids' ] ) ?? []; if ( empty( $post_categories ) ) { return ! ( Comparator_Provider::COMPARATOR_IS === $args['comparator'] ); } $category_ids = array_column( $args['categories'], 'id' ); return Comparators_Checker::check_array_contains( $args['comparator'], $category_ids, $post_categories ); } public function get_options() { $comparators = Comparator_Provider::get_comparators( [ Comparator_Provider::COMPARATOR_IS, Comparator_Provider::COMPARATOR_IS_NOT, ] ); $this->add_control( 'comparator', [ 'type' => Controls_Manager::SELECT, 'options' => $comparators, 'default' => Comparator_Provider::COMPARATOR_IS, ] ); $this->add_control( 'categories', [ 'type' => QueryControlModule::QUERY_CONTROL_ID, 'autocomplete' => [ 'object' => QueryControlModule::QUERY_OBJECT_TAX, 'query' => [ 'taxonomy' => 'category', ], ], 'multiple' => true, 'placeholder' => esc_html__( 'Type to search', 'elementor-pro' ), 'required' => true, ] ); } }