Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 18.119.167.222
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : query.php
<?php

namespace ElementorPro\Modules\QueryControl\Controls;

use Elementor\Control_Select2;
use ElementorPro\Modules\QueryControl\Module;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Query extends Control_Select2 {

	public function get_type() {
		return 'query';
	}

	/**
	 * 'query' can be used for passing query args in the structure and format used by WP_Query.
	 * @return array
	 */
	protected function get_default_settings() {
		return array_merge(
			parent::get_default_settings(), [
				'query' => '',
			]
		);
	}

	/**
	 * Update control settings using mapping config
	 *
	 * @param $value
	 * @param array $control_args
	 * @param array $config
	 *
	 * @return mixed
	 */
	public function on_import_update_settings( $value, array $control_args, array $config ) {
		switch ( $control_args['autocomplete']['object'] ) {
			case Module::QUERY_OBJECT_POST:
			case Module::QUERY_OBJECT_LIBRARY_TEMPLATE:
				return $this->replace_id_from_mapping( $value, $config['post_ids'] );
			case Module::QUERY_OBJECT_TAX:
				return $this->replace_id_from_mapping( $value, $config['term_ids'] );
			default:
				return $value;
		}
	}

	/**
	 * replace id from config
	 *
	 * @param mixed $value
	 * @param array $mapping
	 *
	 * @return string
	 */
	private function replace_id_from_mapping( $value, array $mapping ): string {
		return $mapping[ $value ] ?? $value;
	}

}
© 2025 GrazzMean-Shell