| Server IP : 62.60.133.156 / Your IP : 216.73.217.51 Web Server : LiteSpeed System : Linux linux24.centraldnserver.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : mimradmin ( 1166) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/mimradmin/.trash/wp-content/plugins/1elementor-pro/modules/query-control/controls/ |
Upload File : |
<?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;
}
}