|
Server IP : 168.119.101.163 / Your IP : 216.73.217.54 Web Server : Apache/2 System : Linux web02.webzuiver.nl 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : equine ( 1027) PHP Version : 8.1.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF Directory (0755) : /home/equine/public_html/wp-content/plugins/elementor-pro/modules/query-control/controls/ |
| [ Home ] | [ C0mmand ] | [ 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;
}
}