Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../includes/base
File: controls-stack.php
*
[2000] Fix | Delete
* @return self Current instance of the element.
[2001] Fix | Delete
*/
[2002] Fix | Delete
public function set_render_attribute( $element, $key = null, $value = null ) {
[2003] Fix | Delete
return $this->add_render_attribute( $element, $key, $value, true );
[2004] Fix | Delete
}
[2005] Fix | Delete
[2006] Fix | Delete
/**
[2007] Fix | Delete
* Remove render attribute.
[2008] Fix | Delete
*
[2009] Fix | Delete
* Used to remove an element (with its keys and their values), key (with its values),
[2010] Fix | Delete
* or value/s from an HTML element's render attribute.
[2011] Fix | Delete
*
[2012] Fix | Delete
* @since 2.7.0
[2013] Fix | Delete
* @access public
[2014] Fix | Delete
*
[2015] Fix | Delete
* @param string $element The HTML element.
[2016] Fix | Delete
* @param string $key Optional. Attribute key. Default is null.
[2017] Fix | Delete
* @param array|string $values Optional. Attribute value/s. Default is null.
[2018] Fix | Delete
*/
[2019] Fix | Delete
public function remove_render_attribute( $element, $key = null, $values = null ) {
[2020] Fix | Delete
if ( $key && ! isset( $this->render_attributes[ $element ][ $key ] ) ) {
[2021] Fix | Delete
return;
[2022] Fix | Delete
}
[2023] Fix | Delete
[2024] Fix | Delete
if ( $values ) {
[2025] Fix | Delete
$values = (array) $values;
[2026] Fix | Delete
[2027] Fix | Delete
$this->render_attributes[ $element ][ $key ] = array_diff( $this->render_attributes[ $element ][ $key ], $values );
[2028] Fix | Delete
[2029] Fix | Delete
return;
[2030] Fix | Delete
}
[2031] Fix | Delete
[2032] Fix | Delete
if ( $key ) {
[2033] Fix | Delete
unset( $this->render_attributes[ $element ][ $key ] );
[2034] Fix | Delete
[2035] Fix | Delete
return;
[2036] Fix | Delete
}
[2037] Fix | Delete
[2038] Fix | Delete
if ( isset( $this->render_attributes[ $element ] ) ) {
[2039] Fix | Delete
unset( $this->render_attributes[ $element ] );
[2040] Fix | Delete
}
[2041] Fix | Delete
}
[2042] Fix | Delete
[2043] Fix | Delete
/**
[2044] Fix | Delete
* Get render attribute string.
[2045] Fix | Delete
*
[2046] Fix | Delete
* Used to retrieve the value of the render attribute.
[2047] Fix | Delete
*
[2048] Fix | Delete
* @since 1.0.0
[2049] Fix | Delete
* @access public
[2050] Fix | Delete
*
[2051] Fix | Delete
* @param string $element The element.
[2052] Fix | Delete
*
[2053] Fix | Delete
* @return string Render attribute string, or an empty string if the attribute
[2054] Fix | Delete
* is empty or not exist.
[2055] Fix | Delete
*/
[2056] Fix | Delete
public function get_render_attribute_string( $element ) {
[2057] Fix | Delete
if ( empty( $this->render_attributes[ $element ] ) ) {
[2058] Fix | Delete
return '';
[2059] Fix | Delete
}
[2060] Fix | Delete
[2061] Fix | Delete
return Utils::render_html_attributes( $this->render_attributes[ $element ] );
[2062] Fix | Delete
}
[2063] Fix | Delete
[2064] Fix | Delete
/**
[2065] Fix | Delete
* Print render attribute string.
[2066] Fix | Delete
*
[2067] Fix | Delete
* Used to output the rendered attribute.
[2068] Fix | Delete
*
[2069] Fix | Delete
* @since 2.0.0
[2070] Fix | Delete
* @access public
[2071] Fix | Delete
*
[2072] Fix | Delete
* @param array|string $element The element.
[2073] Fix | Delete
*/
[2074] Fix | Delete
public function print_render_attribute_string( $element ) {
[2075] Fix | Delete
Utils::print_unescaped_internal_string( $this->get_render_attribute_string( $element ) );
[2076] Fix | Delete
}
[2077] Fix | Delete
[2078] Fix | Delete
/**
[2079] Fix | Delete
* Print element template.
[2080] Fix | Delete
*
[2081] Fix | Delete
* Used to generate the element template on the editor.
[2082] Fix | Delete
*
[2083] Fix | Delete
* @since 2.0.0
[2084] Fix | Delete
* @access public
[2085] Fix | Delete
*/
[2086] Fix | Delete
public function print_template() {
[2087] Fix | Delete
ob_start();
[2088] Fix | Delete
[2089] Fix | Delete
// TODO: This is for backwards compatibility starting from 2.9.0
[2090] Fix | Delete
// This `if` statement should be removed when the method is removed.
[2091] Fix | Delete
if ( $this->has_own_method( '_content_template', self::class ) ) {
[2092] Fix | Delete
Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_content_template', '2.9.0', __CLASS__ . '::content_template()' );
[2093] Fix | Delete
[2094] Fix | Delete
$this->_content_template();
[2095] Fix | Delete
} else {
[2096] Fix | Delete
$this->content_template();
[2097] Fix | Delete
}
[2098] Fix | Delete
[2099] Fix | Delete
$template_content = ob_get_clean();
[2100] Fix | Delete
[2101] Fix | Delete
$element_type = $this->get_type();
[2102] Fix | Delete
[2103] Fix | Delete
/**
[2104] Fix | Delete
* Template content.
[2105] Fix | Delete
*
[2106] Fix | Delete
* Filters the controls stack template content before it's printed in the editor.
[2107] Fix | Delete
*
[2108] Fix | Delete
* The dynamic portion of the hook name, `$element_type`, refers to the element type.
[2109] Fix | Delete
*
[2110] Fix | Delete
* @since 1.0.0
[2111] Fix | Delete
*
[2112] Fix | Delete
* @param string $content_template The controls stack template in the editor.
[2113] Fix | Delete
* @param Controls_Stack $this The controls stack.
[2114] Fix | Delete
*/
[2115] Fix | Delete
$template_content = apply_filters( "elementor/{$element_type}/print_template", $template_content, $this );
[2116] Fix | Delete
[2117] Fix | Delete
if ( empty( $template_content ) ) {
[2118] Fix | Delete
return;
[2119] Fix | Delete
}
[2120] Fix | Delete
?>
[2121] Fix | Delete
<script type="text/html" id="tmpl-elementor-<?php echo esc_attr( $this->get_name() ); ?>-content">
[2122] Fix | Delete
<?php $this->print_template_content( $template_content ); ?>
[2123] Fix | Delete
</script>
[2124] Fix | Delete
<?php
[2125] Fix | Delete
}
[2126] Fix | Delete
[2127] Fix | Delete
/**
[2128] Fix | Delete
* On import update dynamic content (e.g. post and term IDs).
[2129] Fix | Delete
*
[2130] Fix | Delete
* @since 3.8.0
[2131] Fix | Delete
*
[2132] Fix | Delete
* @param array $config The config of the passed element.
[2133] Fix | Delete
* @param array $data The data that requires updating/replacement when imported.
[2134] Fix | Delete
* @param array|null $controls The available controls.
[2135] Fix | Delete
*
[2136] Fix | Delete
* @return array Element data.
[2137] Fix | Delete
*/
[2138] Fix | Delete
public static function on_import_update_dynamic_content( array $config, array $data, $controls = null ): array {
[2139] Fix | Delete
return $config;
[2140] Fix | Delete
}
[2141] Fix | Delete
[2142] Fix | Delete
/**
[2143] Fix | Delete
* Start injection.
[2144] Fix | Delete
*
[2145] Fix | Delete
* Used to inject controls and sections to a specific position in the stack.
[2146] Fix | Delete
*
[2147] Fix | Delete
* When you use this method, all the registered controls and sections will
[2148] Fix | Delete
* be injected to a specific position in the stack, until you stop the
[2149] Fix | Delete
* injection using `end_injection()` method.
[2150] Fix | Delete
*
[2151] Fix | Delete
* @since 1.7.1
[2152] Fix | Delete
* @access public
[2153] Fix | Delete
*
[2154] Fix | Delete
* @param array $position {
[2155] Fix | Delete
* The position where to start the injection.
[2156] Fix | Delete
*
[2157] Fix | Delete
* @type string $type Injection type, either `control` or `section`.
[2158] Fix | Delete
* Default is `control`.
[2159] Fix | Delete
* @type string $at Where to inject. If `$type` is `control` accepts
[2160] Fix | Delete
* `before` and `after`. If `$type` is `section`
[2161] Fix | Delete
* accepts `start` and `end`. Default values based on
[2162] Fix | Delete
* the `type`.
[2163] Fix | Delete
* @type string $of Control/Section ID.
[2164] Fix | Delete
* }
[2165] Fix | Delete
*/
[2166] Fix | Delete
final public function start_injection( array $position ) {
[2167] Fix | Delete
if ( $this->injection_point ) {
[2168] Fix | Delete
wp_die( 'A controls injection is already opened. Please close current injection before starting a new one (use `end_injection`).' );
[2169] Fix | Delete
}
[2170] Fix | Delete
[2171] Fix | Delete
$this->injection_point = $this->get_position_info( $position );
[2172] Fix | Delete
}
[2173] Fix | Delete
[2174] Fix | Delete
/**
[2175] Fix | Delete
* End injection.
[2176] Fix | Delete
*
[2177] Fix | Delete
* Used to close an existing opened injection point.
[2178] Fix | Delete
*
[2179] Fix | Delete
* When you use this method it stops adding new controls and sections to
[2180] Fix | Delete
* this point and continue to add controls to the regular position in the
[2181] Fix | Delete
* stack.
[2182] Fix | Delete
*
[2183] Fix | Delete
* @since 1.7.1
[2184] Fix | Delete
* @access public
[2185] Fix | Delete
*/
[2186] Fix | Delete
final public function end_injection() {
[2187] Fix | Delete
$this->injection_point = null;
[2188] Fix | Delete
}
[2189] Fix | Delete
[2190] Fix | Delete
/**
[2191] Fix | Delete
* Get injection point.
[2192] Fix | Delete
*
[2193] Fix | Delete
* Retrieve the injection point in the stack where new controls and sections
[2194] Fix | Delete
* will be inserted.
[2195] Fix | Delete
*
[2196] Fix | Delete
* @since 1.9.2
[2197] Fix | Delete
* @access public
[2198] Fix | Delete
*
[2199] Fix | Delete
* @return array|null An array when an injection point is defined, null
[2200] Fix | Delete
* otherwise.
[2201] Fix | Delete
*/
[2202] Fix | Delete
final public function get_injection_point() {
[2203] Fix | Delete
return $this->injection_point;
[2204] Fix | Delete
}
[2205] Fix | Delete
[2206] Fix | Delete
/**
[2207] Fix | Delete
* Register controls.
[2208] Fix | Delete
*
[2209] Fix | Delete
* Used to add new controls to any element type. For example, external
[2210] Fix | Delete
* developers use this method to register controls in a widget.
[2211] Fix | Delete
*
[2212] Fix | Delete
* Should be inherited and register new controls using `add_control()`,
[2213] Fix | Delete
* `add_responsive_control()` and `add_group_control()`, inside control
[2214] Fix | Delete
* wrappers like `start_controls_section()`, `start_controls_tabs()` and
[2215] Fix | Delete
* `start_controls_tab()`.
[2216] Fix | Delete
*
[2217] Fix | Delete
* @since 1.4.0
[2218] Fix | Delete
* @access protected
[2219] Fix | Delete
* @deprecated 3.1.0 Use `register_controls()` method instead.
[2220] Fix | Delete
*/
[2221] Fix | Delete
protected function _register_controls() {
[2222] Fix | Delete
Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', 'register_controls()' );
[2223] Fix | Delete
[2224] Fix | Delete
$this->register_controls();
[2225] Fix | Delete
}
[2226] Fix | Delete
[2227] Fix | Delete
/**
[2228] Fix | Delete
* Register controls.
[2229] Fix | Delete
*
[2230] Fix | Delete
* Used to add new controls to any element type. For example, external
[2231] Fix | Delete
* developers use this method to register controls in a widget.
[2232] Fix | Delete
*
[2233] Fix | Delete
* Should be inherited and register new controls using `add_control()`,
[2234] Fix | Delete
* `add_responsive_control()` and `add_group_control()`, inside control
[2235] Fix | Delete
* wrappers like `start_controls_section()`, `start_controls_tabs()` and
[2236] Fix | Delete
* `start_controls_tab()`.
[2237] Fix | Delete
*
[2238] Fix | Delete
* @since 3.1.0
[2239] Fix | Delete
* @access protected
[2240] Fix | Delete
*/
[2241] Fix | Delete
protected function register_controls() {}
[2242] Fix | Delete
[2243] Fix | Delete
/**
[2244] Fix | Delete
* Get default data.
[2245] Fix | Delete
*
[2246] Fix | Delete
* Retrieve the default data. Used to reset the data on initialization.
[2247] Fix | Delete
*
[2248] Fix | Delete
* @since 1.4.0
[2249] Fix | Delete
* @access protected
[2250] Fix | Delete
*
[2251] Fix | Delete
* @return array Default data.
[2252] Fix | Delete
*/
[2253] Fix | Delete
protected function get_default_data() {
[2254] Fix | Delete
return [
[2255] Fix | Delete
'id' => 0,
[2256] Fix | Delete
'settings' => [],
[2257] Fix | Delete
];
[2258] Fix | Delete
}
[2259] Fix | Delete
[2260] Fix | Delete
/**
[2261] Fix | Delete
* @since 2.3.0
[2262] Fix | Delete
* @access protected
[2263] Fix | Delete
*/
[2264] Fix | Delete
protected function get_init_settings() {
[2265] Fix | Delete
$settings = $this->get_data( 'settings' );
[2266] Fix | Delete
[2267] Fix | Delete
$controls_objs = Plugin::$instance->controls_manager->get_controls();
[2268] Fix | Delete
[2269] Fix | Delete
foreach ( $this->get_controls() as $control ) {
[2270] Fix | Delete
$control_obj = $controls_objs[ $control['type'] ] ?? null;
[2271] Fix | Delete
[2272] Fix | Delete
if ( ! $control_obj instanceof Base_Data_Control ) {
[2273] Fix | Delete
continue;
[2274] Fix | Delete
}
[2275] Fix | Delete
[2276] Fix | Delete
$control = array_merge_recursive( $control_obj->get_settings(), $control );
[2277] Fix | Delete
[2278] Fix | Delete
$settings[ $control['name'] ] = $control_obj->get_value( $control, $settings );
[2279] Fix | Delete
}
[2280] Fix | Delete
[2281] Fix | Delete
return $settings;
[2282] Fix | Delete
}
[2283] Fix | Delete
[2284] Fix | Delete
/**
[2285] Fix | Delete
* Get initial config.
[2286] Fix | Delete
*
[2287] Fix | Delete
* Retrieve the current element initial configuration - controls list and
[2288] Fix | Delete
* the tabs assigned to the control.
[2289] Fix | Delete
*
[2290] Fix | Delete
* @since 2.9.0
[2291] Fix | Delete
* @access protected
[2292] Fix | Delete
*
[2293] Fix | Delete
* @return array The initial config.
[2294] Fix | Delete
*/
[2295] Fix | Delete
protected function get_initial_config() {
[2296] Fix | Delete
return [
[2297] Fix | Delete
'controls' => $this->get_controls(),
[2298] Fix | Delete
];
[2299] Fix | Delete
}
[2300] Fix | Delete
[2301] Fix | Delete
/**
[2302] Fix | Delete
* Get initial config.
[2303] Fix | Delete
*
[2304] Fix | Delete
* Retrieve the current element initial configuration - controls list and
[2305] Fix | Delete
* the tabs assigned to the control.
[2306] Fix | Delete
*
[2307] Fix | Delete
* @since 1.4.0
[2308] Fix | Delete
* @deprecated 2.9.0 Use `get_initial_config()` method instead.
[2309] Fix | Delete
* @access protected
[2310] Fix | Delete
*
[2311] Fix | Delete
* @return array The initial config.
[2312] Fix | Delete
*/
[2313] Fix | Delete
protected function _get_initial_config() {
[2314] Fix | Delete
Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '2.9.0', 'get_initial_config()' );
[2315] Fix | Delete
[2316] Fix | Delete
return $this->get_initial_config();
[2317] Fix | Delete
}
[2318] Fix | Delete
[2319] Fix | Delete
/**
[2320] Fix | Delete
* Get section arguments.
[2321] Fix | Delete
*
[2322] Fix | Delete
* Retrieve the section arguments based on section ID.
[2323] Fix | Delete
*
[2324] Fix | Delete
* @since 1.4.0
[2325] Fix | Delete
* @access protected
[2326] Fix | Delete
*
[2327] Fix | Delete
* @param string $section_id Section ID.
[2328] Fix | Delete
*
[2329] Fix | Delete
* @return array Section arguments.
[2330] Fix | Delete
*/
[2331] Fix | Delete
protected function get_section_args( $section_id ) {
[2332] Fix | Delete
$section_control = $this->get_controls( $section_id );
[2333] Fix | Delete
[2334] Fix | Delete
$section_args_keys = [ 'tab', 'condition' ];
[2335] Fix | Delete
[2336] Fix | Delete
$args = array_intersect_key( $section_control, array_flip( $section_args_keys ) );
[2337] Fix | Delete
[2338] Fix | Delete
$args['section'] = $section_id;
[2339] Fix | Delete
[2340] Fix | Delete
return $args;
[2341] Fix | Delete
}
[2342] Fix | Delete
[2343] Fix | Delete
/**
[2344] Fix | Delete
* Render element.
[2345] Fix | Delete
*
[2346] Fix | Delete
* Generates the final HTML on the frontend.
[2347] Fix | Delete
*
[2348] Fix | Delete
* @since 2.0.0
[2349] Fix | Delete
* @access protected
[2350] Fix | Delete
*/
[2351] Fix | Delete
protected function render() {}
[2352] Fix | Delete
[2353] Fix | Delete
/**
[2354] Fix | Delete
* Render element in static mode.
[2355] Fix | Delete
*
[2356] Fix | Delete
* If not inherent will call the base render.
[2357] Fix | Delete
*/
[2358] Fix | Delete
protected function render_static() {
[2359] Fix | Delete
$this->render();
[2360] Fix | Delete
}
[2361] Fix | Delete
[2362] Fix | Delete
/**
[2363] Fix | Delete
* Determine the render logic.
[2364] Fix | Delete
*/
[2365] Fix | Delete
protected function render_by_mode() {
[2366] Fix | Delete
if ( Plugin::$instance->frontend->is_static_render_mode() ) {
[2367] Fix | Delete
$this->render_static();
[2368] Fix | Delete
[2369] Fix | Delete
return;
[2370] Fix | Delete
}
[2371] Fix | Delete
[2372] Fix | Delete
$this->render();
[2373] Fix | Delete
}
[2374] Fix | Delete
[2375] Fix | Delete
/**
[2376] Fix | Delete
* Print content template.
[2377] Fix | Delete
*
[2378] Fix | Delete
* Used to generate the content template on the editor, using a
[2379] Fix | Delete
* Backbone JavaScript template.
[2380] Fix | Delete
*
[2381] Fix | Delete
* @access protected
[2382] Fix | Delete
* @since 2.0.0
[2383] Fix | Delete
*
[2384] Fix | Delete
* @param string $template_content Template content.
[2385] Fix | Delete
*/
[2386] Fix | Delete
protected function print_template_content( $template_content ) {
[2387] Fix | Delete
Utils::print_unescaped_internal_string( $template_content );
[2388] Fix | Delete
}
[2389] Fix | Delete
[2390] Fix | Delete
/**
[2391] Fix | Delete
* Render element output in the editor.
[2392] Fix | Delete
*
[2393] Fix | Delete
* Used to generate the live preview, using a Backbone JavaScript template.
[2394] Fix | Delete
*
[2395] Fix | Delete
* @since 2.9.0
[2396] Fix | Delete
* @access protected
[2397] Fix | Delete
*/
[2398] Fix | Delete
protected function content_template() {}
[2399] Fix | Delete
[2400] Fix | Delete
/**
[2401] Fix | Delete
* Render element output in the editor.
[2402] Fix | Delete
*
[2403] Fix | Delete
* Used to generate the live preview, using a Backbone JavaScript template.
[2404] Fix | Delete
*
[2405] Fix | Delete
* @since 2.0.0
[2406] Fix | Delete
* @deprecated 2.9.0 Use `content_template()` method instead.
[2407] Fix | Delete
* @access protected
[2408] Fix | Delete
*/
[2409] Fix | Delete
protected function _content_template() {
[2410] Fix | Delete
Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '2.9.0', 'content_template()' );
[2411] Fix | Delete
[2412] Fix | Delete
$this->content_template();
[2413] Fix | Delete
}
[2414] Fix | Delete
[2415] Fix | Delete
/**
[2416] Fix | Delete
* Initialize controls.
[2417] Fix | Delete
*
[2418] Fix | Delete
* Register the all controls added by `register_controls()`.
[2419] Fix | Delete
*
[2420] Fix | Delete
* @since 2.0.0
[2421] Fix | Delete
* @access protected
[2422] Fix | Delete
*/
[2423] Fix | Delete
protected function init_controls() {
[2424] Fix | Delete
Plugin::$instance->controls_manager->open_stack( $this );
[2425] Fix | Delete
[2426] Fix | Delete
// TODO: This is for backwards compatibility starting from 2.9.0
[2427] Fix | Delete
// This `if` statement should be removed when the method is removed.
[2428] Fix | Delete
if ( $this->has_own_method( '_register_controls', self::class ) ) {
[2429] Fix | Delete
Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_register_controls', '3.1.0', __CLASS__ . '::register_controls()' );
[2430] Fix | Delete
[2431] Fix | Delete
$this->_register_controls();
[2432] Fix | Delete
} else {
[2433] Fix | Delete
$this->register_controls();
[2434] Fix | Delete
}
[2435] Fix | Delete
}
[2436] Fix | Delete
[2437] Fix | Delete
protected function handle_control_position( array $args, $control_id, $overwrite ) {
[2438] Fix | Delete
if ( isset( $args['type'] ) && in_array( $args['type'], [ Controls_Manager::SECTION, Controls_Manager::WP_WIDGET ], true ) ) {
[2439] Fix | Delete
return $args;
[2440] Fix | Delete
}
[2441] Fix | Delete
[2442] Fix | Delete
$target_section_args = $this->current_section;
[2443] Fix | Delete
[2444] Fix | Delete
$target_tab = $this->current_tab;
[2445] Fix | Delete
[2446] Fix | Delete
if ( $this->injection_point ) {
[2447] Fix | Delete
$target_section_args = $this->injection_point['section'];
[2448] Fix | Delete
[2449] Fix | Delete
if ( ! empty( $this->injection_point['tab'] ) ) {
[2450] Fix | Delete
$target_tab = $this->injection_point['tab'];
[2451] Fix | Delete
}
[2452] Fix | Delete
}
[2453] Fix | Delete
[2454] Fix | Delete
if ( null !== $target_section_args ) {
[2455] Fix | Delete
if ( ! empty( $args['section'] ) || ! empty( $args['tab'] ) ) {
[2456] Fix | Delete
_doing_it_wrong( sprintf( '%s::%s', get_called_class(), __FUNCTION__ ), sprintf( 'Cannot redeclare control with `tab` or `section` args inside section "%s".', $control_id ), '1.0.0' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[2457] Fix | Delete
}
[2458] Fix | Delete
[2459] Fix | Delete
$args = array_replace_recursive( $target_section_args, $args );
[2460] Fix | Delete
[2461] Fix | Delete
if ( null !== $target_tab ) {
[2462] Fix | Delete
$args = array_replace_recursive( $target_tab, $args );
[2463] Fix | Delete
}
[2464] Fix | Delete
} elseif ( empty( $args['section'] ) && ( ! $overwrite || is_wp_error( Plugin::$instance->controls_manager->get_control_from_stack( $this->get_unique_name(), $control_id ) ) ) ) {
[2465] Fix | Delete
if ( ! Performance::should_optimize_controls() ) {
[2466] Fix | Delete
wp_die( sprintf( '%s::%s: Cannot add a control outside of a section (use `start_controls_section`).', get_called_class(), __FUNCTION__ ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[2467] Fix | Delete
}
[2468] Fix | Delete
}
[2469] Fix | Delete
[2470] Fix | Delete
return $args;
[2471] Fix | Delete
}
[2472] Fix | Delete
[2473] Fix | Delete
/**
[2474] Fix | Delete
* Initialize the class.
[2475] Fix | Delete
*
[2476] Fix | Delete
* Set the raw data, the ID and the parsed settings.
[2477] Fix | Delete
*
[2478] Fix | Delete
* @since 2.9.0
[2479] Fix | Delete
* @access protected
[2480] Fix | Delete
*
[2481] Fix | Delete
* @param array $data Initial data.
[2482] Fix | Delete
*/
[2483] Fix | Delete
protected function init( $data ) {
[2484] Fix | Delete
$this->data = array_merge( $this->get_default_data(), $data );
[2485] Fix | Delete
[2486] Fix | Delete
$this->id = $data['id'];
[2487] Fix | Delete
}
[2488] Fix | Delete
[2489] Fix | Delete
/**
[2490] Fix | Delete
* Initialize the class.
[2491] Fix | Delete
*
[2492] Fix | Delete
* Set the raw data, the ID and the parsed settings.
[2493] Fix | Delete
*
[2494] Fix | Delete
* @since 1.4.0
[2495] Fix | Delete
* @deprecated 2.9.0 Use `init()` method instead.
[2496] Fix | Delete
* @access protected
[2497] Fix | Delete
*
[2498] Fix | Delete
* @param array $data Initial data.
[2499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function