Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/includes/builder/module/helpers
File: MultiViewOptions.php
[500] Fix | Delete
foreach ( $values as $mode => $value ) {
[501] Fix | Delete
if ( $selected_mode && ! in_array( $mode, $selected_mode, true ) ) {
[502] Fix | Delete
continue;
[503] Fix | Delete
}
[504] Fix | Delete
[505] Fix | Delete
$has_value = self::compare_value( $value, $value_compare );
[506] Fix | Delete
[507] Fix | Delete
if ( ! $has_value && 'desktop' !== $mode && $inherit ) {
[508] Fix | Delete
$has_value = self::compare_value( $this->get_inherit_value( $name, $mode ), $value_compare );
[509] Fix | Delete
}
[510] Fix | Delete
[511] Fix | Delete
if ( $has_value ) {
[512] Fix | Delete
break;
[513] Fix | Delete
}
[514] Fix | Delete
}
[515] Fix | Delete
[516] Fix | Delete
return $has_value;
[517] Fix | Delete
}
[518] Fix | Delete
[519] Fix | Delete
/**
[520] Fix | Delete
* Get props inherit value
[521] Fix | Delete
*
[522] Fix | Delete
* @since 3.27.1
[523] Fix | Delete
*
[524] Fix | Delete
* @param string $name Field key.
[525] Fix | Delete
* @param string $selected_mode Selected view mode.
[526] Fix | Delete
*
[527] Fix | Delete
* @return mixed
[528] Fix | Delete
*/
[529] Fix | Delete
public function get_inherit_value( $name, $selected_mode ) {
[530] Fix | Delete
$values = $this->get_values( $name, false );
[531] Fix | Delete
[532] Fix | Delete
if ( isset( $values[ $selected_mode ] ) ) {
[533] Fix | Delete
return $values[ $selected_mode ];
[534] Fix | Delete
}
[535] Fix | Delete
[536] Fix | Delete
return '';
[537] Fix | Delete
}
[538] Fix | Delete
[539] Fix | Delete
/**
[540] Fix | Delete
* Get module props conditional value.
[541] Fix | Delete
*
[542] Fix | Delete
* @since 3.27.1
[543] Fix | Delete
*
[544] Fix | Delete
* @param string $name Props name.
[545] Fix | Delete
* @param string $mode Select only specified modes: desktop, tablet, phone, hover.
[546] Fix | Delete
* @param mixed $conditionals Extra data to compare.
[547] Fix | Delete
*
[548] Fix | Delete
* @return mixed Calculated conditional value. Will return null if not match any comparison.
[549] Fix | Delete
*/
[550] Fix | Delete
public function get_conditional_value( $name, $mode = 'desktop', $conditionals = array() ) {
[551] Fix | Delete
if ( ! $this->conditional_values ) {
[552] Fix | Delete
return null;
[553] Fix | Delete
}
[554] Fix | Delete
[555] Fix | Delete
$value = null;
[556] Fix | Delete
[557] Fix | Delete
foreach ( $this->conditional_values as $compare ) {
[558] Fix | Delete
if ( ! isset( $compare['name'] ) || $compare['name'] !== $name ) {
[559] Fix | Delete
continue;
[560] Fix | Delete
}
[561] Fix | Delete
[562] Fix | Delete
if ( isset( $compare['conditionals'] ) && $compare['conditionals'] ) {
[563] Fix | Delete
$is_conditionals_match = true;
[564] Fix | Delete
[565] Fix | Delete
foreach ( $compare['conditionals'] as $conditional_key => $conditional_value ) {
[566] Fix | Delete
if ( ! isset( $conditionals[ $conditional_key ] ) || $conditionals[ $conditional_key ] !== $conditional_value ) {
[567] Fix | Delete
$is_conditionals_match = false;
[568] Fix | Delete
break;
[569] Fix | Delete
}
[570] Fix | Delete
}
[571] Fix | Delete
[572] Fix | Delete
if ( ! $is_conditionals_match ) {
[573] Fix | Delete
continue;
[574] Fix | Delete
}
[575] Fix | Delete
}
[576] Fix | Delete
[577] Fix | Delete
if ( isset( $compare['props'] ) && $compare['props'] ) {
[578] Fix | Delete
$is_props_match = true;
[579] Fix | Delete
[580] Fix | Delete
foreach ( $compare['props'] as $prop_key => $prop_value ) {
[581] Fix | Delete
if ( ! $prop_key && ! is_numeric( $prop_key ) ) {
[582] Fix | Delete
$is_props_match = false;
[583] Fix | Delete
break;
[584] Fix | Delete
}
[585] Fix | Delete
[586] Fix | Delete
if ( 'hover' === $mode && ! $this->hover_is_enabled( $prop_key ) ) {
[587] Fix | Delete
$mode = false;
[588] Fix | Delete
}
[589] Fix | Delete
[590] Fix | Delete
if ( in_array( $mode, array( 'tablet', 'phone' ), true ) && ! $this->responsive_is_enabled( $prop_key ) ) {
[591] Fix | Delete
$mode = false;
[592] Fix | Delete
}
[593] Fix | Delete
[594] Fix | Delete
if ( ! $this->has_value( $prop_key, $prop_value, $mode ) ) {
[595] Fix | Delete
$is_props_match = false;
[596] Fix | Delete
break;
[597] Fix | Delete
}
[598] Fix | Delete
}
[599] Fix | Delete
[600] Fix | Delete
if ( ! $is_props_match ) {
[601] Fix | Delete
continue;
[602] Fix | Delete
}
[603] Fix | Delete
}
[604] Fix | Delete
[605] Fix | Delete
$value = $compare['value'];
[606] Fix | Delete
[607] Fix | Delete
if ( preg_match_all( $this->pattern, $value, $matches, PREG_SET_ORDER, 0 ) ) {
[608] Fix | Delete
foreach ( $matches as $match ) {
[609] Fix | Delete
if ( ! isset( $match[1] ) ) {
[610] Fix | Delete
continue;
[611] Fix | Delete
}
[612] Fix | Delete
[613] Fix | Delete
$value = str_replace( $match[0], $this->get_value( $match[1], $mode ), $value );
[614] Fix | Delete
}
[615] Fix | Delete
}
[616] Fix | Delete
}
[617] Fix | Delete
[618] Fix | Delete
return $value;
[619] Fix | Delete
}
[620] Fix | Delete
[621] Fix | Delete
/**
[622] Fix | Delete
* Set module object.
[623] Fix | Delete
*
[624] Fix | Delete
* @since 3.27.1
[625] Fix | Delete
*
[626] Fix | Delete
* @param ET_Builder_Element $module Module object.
[627] Fix | Delete
*/
[628] Fix | Delete
public function set_module( $module ) {
[629] Fix | Delete
if ( ! $module instanceof ET_Builder_Element ) {
[630] Fix | Delete
return et_debug( __( 'Invalid module instance passed to ET_Builder_Module_Helper_MultiViewOptions::set_module', 'et_builder' ) );
[631] Fix | Delete
}
[632] Fix | Delete
[633] Fix | Delete
$this->module = $module;
[634] Fix | Delete
[635] Fix | Delete
if ( property_exists( $module, 'slug' ) ) {
[636] Fix | Delete
$this->slug = $module->slug;
[637] Fix | Delete
}
[638] Fix | Delete
[639] Fix | Delete
if ( property_exists( $module, 'props' ) && $module->props && is_array( $module->props ) ) {
[640] Fix | Delete
$props = $module->props;
[641] Fix | Delete
[642] Fix | Delete
if ( empty( $props['content'] ) && property_exists( $module, 'content' ) ) {
[643] Fix | Delete
$props['content'] = $module->content;
[644] Fix | Delete
}
[645] Fix | Delete
[646] Fix | Delete
if ( in_array( $module->slug, array( 'et_pb_code', 'et_pb_fullwidth_code' ), true ) ) {
[647] Fix | Delete
if ( isset( $props['content'] ) ) {
[648] Fix | Delete
$props['raw_content'] = $props['content'];
[649] Fix | Delete
}
[650] Fix | Delete
[651] Fix | Delete
if ( isset( $props[ 'content' . self::$hover_enabled_suffix ] ) ) {
[652] Fix | Delete
$props[ 'raw_content' . self::$hover_enabled_suffix ] = $props[ 'content' . self::$hover_enabled_suffix ];
[653] Fix | Delete
}
[654] Fix | Delete
[655] Fix | Delete
if ( isset( $props[ 'content' . self::$responsive_enabled_suffix ] ) ) {
[656] Fix | Delete
$props[ 'raw_content' . self::$responsive_enabled_suffix ] = $props[ 'content' . self::$responsive_enabled_suffix ];
[657] Fix | Delete
}
[658] Fix | Delete
}
[659] Fix | Delete
[660] Fix | Delete
foreach ( $props as $key => $value ) {
[661] Fix | Delete
$this->set_props( $key, $value );
[662] Fix | Delete
}
[663] Fix | Delete
}
[664] Fix | Delete
[665] Fix | Delete
$this->set_inherited_props();
[666] Fix | Delete
}
[667] Fix | Delete
[668] Fix | Delete
/**
[669] Fix | Delete
* Set props data.
[670] Fix | Delete
*
[671] Fix | Delete
* @since 4.0
[672] Fix | Delete
*
[673] Fix | Delete
* @param string $name Props key.
[674] Fix | Delete
* @param array $value Props value.
[675] Fix | Delete
*/
[676] Fix | Delete
public function set_props( $name, $value ) {
[677] Fix | Delete
// Always clear cached values to keep the data up to date
[678] Fix | Delete
// in case the props defined in looping
[679] Fix | Delete
$this->clear_cached_values( $name );
[680] Fix | Delete
[681] Fix | Delete
// Set the props data.
[682] Fix | Delete
$this->props[ $name ] = $value;
[683] Fix | Delete
}
[684] Fix | Delete
[685] Fix | Delete
/**
[686] Fix | Delete
* Clear cached values
[687] Fix | Delete
*
[688] Fix | Delete
* @since 4.0
[689] Fix | Delete
*
[690] Fix | Delete
* @param string $name Props key.
[691] Fix | Delete
*
[692] Fix | Delete
* @return void
[693] Fix | Delete
*/
[694] Fix | Delete
public function clear_cached_values( $name ) {
[695] Fix | Delete
if ( isset( $this->cached_values[ $name ] ) ) {
[696] Fix | Delete
unset( $this->cached_values[ $name ] );
[697] Fix | Delete
}
[698] Fix | Delete
}
[699] Fix | Delete
[700] Fix | Delete
/**
[701] Fix | Delete
* Set list props that inherited.
[702] Fix | Delete
*
[703] Fix | Delete
* @since 4.0.2
[704] Fix | Delete
*/
[705] Fix | Delete
public function set_inherited_props() {
[706] Fix | Delete
if ( ! property_exists( $this->module, 'mv_inherited_props' ) || ! is_array( $this->module->mv_inherited_props ) ) {
[707] Fix | Delete
return;
[708] Fix | Delete
}
[709] Fix | Delete
[710] Fix | Delete
$this->inherited_props = $this->module->mv_inherited_props;
[711] Fix | Delete
}
[712] Fix | Delete
[713] Fix | Delete
/**
[714] Fix | Delete
* Check if props value suppose to be inherited
[715] Fix | Delete
*
[716] Fix | Delete
* @since 4.0.2
[717] Fix | Delete
*
[718] Fix | Delete
* @param string $name_by_mode Full name of the props.
[719] Fix | Delete
* @param string $value Props value.
[720] Fix | Delete
*
[721] Fix | Delete
* @return boolean
[722] Fix | Delete
*/
[723] Fix | Delete
public function is_props_inherited( $name_by_mode, $value ) {
[724] Fix | Delete
return isset( $this->inherited_props[ $name_by_mode ] ) && '' === $value;
[725] Fix | Delete
}
[726] Fix | Delete
[727] Fix | Delete
/**
[728] Fix | Delete
* Set option default value.
[729] Fix | Delete
*
[730] Fix | Delete
* @since 3.27.1
[731] Fix | Delete
*
[732] Fix | Delete
* @param string $name Data key.
[733] Fix | Delete
* @param array $default_value Default value.
[734] Fix | Delete
*/
[735] Fix | Delete
public function set_default_value( $name, $default_value ) {
[736] Fix | Delete
$this->default_values[ $name ] = $this->normalize_values( $default_value );
[737] Fix | Delete
}
[738] Fix | Delete
[739] Fix | Delete
/**
[740] Fix | Delete
* Set options default values.
[741] Fix | Delete
*
[742] Fix | Delete
* @since 3.27.1
[743] Fix | Delete
*
[744] Fix | Delete
* @param array $default_values Default values.
[745] Fix | Delete
*/
[746] Fix | Delete
public function set_default_values( $default_values ) {
[747] Fix | Delete
if ( $default_values && is_array( $default_values ) ) {
[748] Fix | Delete
foreach ( $default_values as $name => $value ) {
[749] Fix | Delete
$this->set_default_value( $name, $value );
[750] Fix | Delete
}
[751] Fix | Delete
}
[752] Fix | Delete
}
[753] Fix | Delete
[754] Fix | Delete
/**
[755] Fix | Delete
* Set option conditional value.
[756] Fix | Delete
*
[757] Fix | Delete
* @since 3.27.1
[758] Fix | Delete
*
[759] Fix | Delete
* @param string $name Prop key.
[760] Fix | Delete
* @param string $value Custom conditional value.
[761] Fix | Delete
* @param array $props Key value pair of props list to compare.
[762] Fix | Delete
* @param array $conditionals Conditionals parameter go compare to calculate the value.
[763] Fix | Delete
*/
[764] Fix | Delete
public function set_conditional_value( $name, $value, $props, $conditionals = array() ) {
[765] Fix | Delete
if ( ! $props || ! is_array( $props ) ) {
[766] Fix | Delete
return;
[767] Fix | Delete
}
[768] Fix | Delete
[769] Fix | Delete
if ( ! is_array( $conditionals ) ) {
[770] Fix | Delete
return;
[771] Fix | Delete
}
[772] Fix | Delete
[773] Fix | Delete
$conditional = array(
[774] Fix | Delete
// Order index is used to preserve original order when sorting "equal" items
[775] Fix | Delete
// as the order of "equal" items in PHP is "undefined" after sorting.
[776] Fix | Delete
'order' => count( $this->conditional_values ),
[777] Fix | Delete
'name' => $name,
[778] Fix | Delete
'value' => $value,
[779] Fix | Delete
'props' => $props,
[780] Fix | Delete
'conditionals' => $conditionals,
[781] Fix | Delete
);
[782] Fix | Delete
[783] Fix | Delete
$this->conditional_values[] = $conditional;
[784] Fix | Delete
[785] Fix | Delete
// Sort by count of props and count of conditionals.
[786] Fix | Delete
usort( $this->conditional_values, array( $this, 'sort_conditional_values' ) );
[787] Fix | Delete
}
[788] Fix | Delete
[789] Fix | Delete
/**
[790] Fix | Delete
* Set option conditional values.
[791] Fix | Delete
*
[792] Fix | Delete
* @since 3.27.1
[793] Fix | Delete
*
[794] Fix | Delete
* @param array $conditional_values Default values.
[795] Fix | Delete
*/
[796] Fix | Delete
public function set_conditional_values( $conditional_values ) {
[797] Fix | Delete
if ( ! $conditional_values || ! is_array( $conditional_values ) ) {
[798] Fix | Delete
return;
[799] Fix | Delete
}
[800] Fix | Delete
[801] Fix | Delete
foreach ( $conditional_values as $conditional_key => $param ) {
[802] Fix | Delete
if ( ! isset( $param['value'] ) ) {
[803] Fix | Delete
continue;
[804] Fix | Delete
}
[805] Fix | Delete
[806] Fix | Delete
if ( ! isset( $param['props'] ) ) {
[807] Fix | Delete
continue;
[808] Fix | Delete
}
[809] Fix | Delete
[810] Fix | Delete
$conditionals = isset( $param['conditionals'] ) ? $param['conditionals'] : array();
[811] Fix | Delete
[812] Fix | Delete
$this->set_conditional_value( $conditional_key, $param['value'], $param['props'], $conditionals );
[813] Fix | Delete
}
[814] Fix | Delete
}
[815] Fix | Delete
[816] Fix | Delete
/**
[817] Fix | Delete
* Set custom variable data.
[818] Fix | Delete
*
[819] Fix | Delete
* @since 3.27.1
[820] Fix | Delete
*
[821] Fix | Delete
* @param string $name Data key.
[822] Fix | Delete
* @param array $values The values to inject.
[823] Fix | Delete
*/
[824] Fix | Delete
public function set_custom_prop( $name, $values ) {
[825] Fix | Delete
// Always clear cached values to keep the data up to date
[826] Fix | Delete
// in case the props defined in looping
[827] Fix | Delete
$this->clear_cached_values( $name );
[828] Fix | Delete
[829] Fix | Delete
// Set the custom props data.
[830] Fix | Delete
$this->custom_props[ $name ] = $this->normalize_values( $values );
[831] Fix | Delete
}
[832] Fix | Delete
[833] Fix | Delete
/**
[834] Fix | Delete
* Set custom variables data.
[835] Fix | Delete
*
[836] Fix | Delete
* @since 3.27.1
[837] Fix | Delete
*
[838] Fix | Delete
* @param array $custom_props Defined custom props data.
[839] Fix | Delete
*/
[840] Fix | Delete
public function set_custom_props( $custom_props ) {
[841] Fix | Delete
if ( $custom_props && is_array( $custom_props ) ) {
[842] Fix | Delete
foreach ( $custom_props as $name => $values ) {
[843] Fix | Delete
$this->set_custom_prop( $name, $values );
[844] Fix | Delete
}
[845] Fix | Delete
}
[846] Fix | Delete
}
[847] Fix | Delete
[848] Fix | Delete
/**
[849] Fix | Delete
* Render the multi view HTML element
[850] Fix | Delete
*
[851] Fix | Delete
* Example:
[852] Fix | Delete
*
[853] Fix | Delete
* $multi_view->render_element( array(
[854] Fix | Delete
* 'tag' => 'div',
[855] Fix | Delete
* 'content' => 'Hello {{name}}', // Assume name props value is John
[856] Fix | Delete
* ) );
[857] Fix | Delete
*
[858] Fix | Delete
* - Will generate output:
[859] Fix | Delete
* <div>Hello John</div>
[860] Fix | Delete
*
[861] Fix | Delete
* $multi_view->render_element( array(
[862] Fix | Delete
* 'tag' => 'p',
[863] Fix | Delete
* 'content' => 'get_the_title', // Assume current page title is Hello World
[864] Fix | Delete
* ) );
[865] Fix | Delete
*
[866] Fix | Delete
* - Will generate output:
[867] Fix | Delete
* <p>Hello World</p>
[868] Fix | Delete
*
[869] Fix | Delete
* $multi_view->render_element( array(
[870] Fix | Delete
* 'tag' => 'h3',
[871] Fix | Delete
* 'content' => get_the_title(), // Assume current page title is Hello World
[872] Fix | Delete
* ) );
[873] Fix | Delete
*
[874] Fix | Delete
* - Will generate output:
[875] Fix | Delete
* <h3>Hello World</h3>
[876] Fix | Delete
*
[877] Fix | Delete
* $multi_view->render_element( array(
[878] Fix | Delete
* 'tag' => 'img',
[879] Fix | Delete
* 'attrs' => array(
[880] Fix | Delete
* 'src' => '{{image_url}}, // Assume image_url props value is test.jpg
[881] Fix | Delete
* 'width' => '{{image_width}}px', // Assume image_width props value is 50
[882] Fix | Delete
* 'height' => '{{image_height}}px', // Assume image_height props value is 100
[883] Fix | Delete
* ),
[884] Fix | Delete
* ) );
[885] Fix | Delete
*
[886] Fix | Delete
* - Will generate output:
[887] Fix | Delete
* <img src="test.jpg" width="50px" height="100px" />
[888] Fix | Delete
*
[889] Fix | Delete
* $multi_view->render_element( array(
[890] Fix | Delete
* 'tag' => 'div',
[891] Fix | Delete
* 'content' => 'Lorem Ipsum',
[892] Fix | Delete
* 'styles' => array(
[893] Fix | Delete
* 'background-image' => 'url({{image_url}})', // Assume image_url props value is test.jpg
[894] Fix | Delete
* 'font-size' => '{{title_font_size}}px', // Assume title_font_size props value is 20
[895] Fix | Delete
* ),
[896] Fix | Delete
* ) );
[897] Fix | Delete
*
[898] Fix | Delete
* - Will generate output:
[899] Fix | Delete
* <div style="background-image: url(test.jpg); font-size: 20px;">Lorem Ipsum</div>
[900] Fix | Delete
*
[901] Fix | Delete
* $multi_view->render_element( array(
[902] Fix | Delete
* 'tag' => 'div',
[903] Fix | Delete
* 'content' => 'Lorem Ipsum',
[904] Fix | Delete
* 'classes' => array(
[905] Fix | Delete
* 'et_pb_slider_no_arrows' => array
[906] Fix | Delete
* 'show_arrows' => 'off', // Assume show_arrows props value is off
[907] Fix | Delete
* ),
[908] Fix | Delete
* 'et_pb_slider_carousel' => array
[909] Fix | Delete
* 'show_thumbnails' => 'on', // Assume show_thumbnails props value is on
[910] Fix | Delete
* ),
[911] Fix | Delete
* ),
[912] Fix | Delete
* ) );
[913] Fix | Delete
*
[914] Fix | Delete
* - Will generate output:
[915] Fix | Delete
* <div class=et_pb_slider_no_arrows et_pb_slider_carousel">Lorem Ipsum</div>
[916] Fix | Delete
*
[917] Fix | Delete
* $multi_view->render_element( array(
[918] Fix | Delete
* 'tag' => 'div',
[919] Fix | Delete
* 'content' => 'Lorem Ipsum',
[920] Fix | Delete
* 'visibility' => array(
[921] Fix | Delete
* 'show_arrows' => 'on',
[922] Fix | Delete
* 'show_thumbnails' => 'off',
[923] Fix | Delete
* ),
[924] Fix | Delete
* ) );
[925] Fix | Delete
*
[926] Fix | Delete
* - Will generate output that will visible when show_arrows is on and show_thumbnails is off:
[927] Fix | Delete
* <div>Lorem Ipsum</div>
[928] Fix | Delete
*
[929] Fix | Delete
* @param array $contexts {
[930] Fix | Delete
* Data contexts.
[931] Fix | Delete
*
[932] Fix | Delete
* @type string $tag HTML element tag name. Example: div, img, p. Default is span.
[933] Fix | Delete
*
[934] Fix | Delete
* @type string $content Param that will be used to populate the content data.
[935] Fix | Delete
* Use props name wrapped with 2 curly brackets within the value for find & replace wildcard: {{props_name}}
[936] Fix | Delete
*
[937] Fix | Delete
* @type array $attrs Param that will be used to populate the attributes data.
[938] Fix | Delete
* Associative array key used as attribute name and the value will be used as attribute value.
[939] Fix | Delete
* Special case for 'class' and 'style' attribute name will only generating output for desktop mode.
[940] Fix | Delete
* Use 'styles' or 'classes' context for multi modes usage.
[941] Fix | Delete
* Use props name wrapped with 2 curly brackets within the value for find & replace wildcard: {{props_name}}
[942] Fix | Delete
*
[943] Fix | Delete
* @type array $styles Param that will be used to populate the inline style attributes data.
[944] Fix | Delete
* Associative array key used as style property name and the value will be used as inline style property value.
[945] Fix | Delete
* Use props name wrapped with 2 curly brackets within the value for find & replace wildcard: {{props_name}}
[946] Fix | Delete
*
[947] Fix | Delete
* @type array $classes Param that will be used to populate the class data.
[948] Fix | Delete
* Associative array key used as class name and the value is associative array as the conditional check compared with prop value.
[949] Fix | Delete
* The conditional check array key used as the prop name and the value used as the conditional check compared with prop value.
[950] Fix | Delete
* The class will be added if all conditional check is true and will be removed if any of conditional check is false.
[951] Fix | Delete
*
[952] Fix | Delete
* @type array $visibility Param that will be used to populate the visibility data.
[953] Fix | Delete
* Associative array key used as the prop name and the value used as the conditional check compared with prop value.
[954] Fix | Delete
* The element will visible if all conditional check is true and will be hidden if any of conditional check is false.
[955] Fix | Delete
*
[956] Fix | Delete
* @type string $target HTML element selector target which the element will be modified. Default is empty string.
[957] Fix | Delete
* Dynamic module order class wildcard string is accepted: %%order_class%%
[958] Fix | Delete
*
[959] Fix | Delete
* @type string $hover_selector HTML element selector which trigger the hover event. Default is empty string.
[960] Fix | Delete
* Dynamic module order class wildcard string is accepted: %%order_class%%
[961] Fix | Delete
*
[962] Fix | Delete
* @type string $render_slug Render slug that will be used to calculate the module order class. Default is current module slug.
[963] Fix | Delete
*
[964] Fix | Delete
* @type array $custom_props Defined custom props data.
[965] Fix | Delete
*
[966] Fix | Delete
* @type array $conditional_values Defined data sources for data toggle.
[967] Fix | Delete
*
[968] Fix | Delete
* @type array $required List of required props key to render the element.
[969] Fix | Delete
* Will render the element if all of the props required keys is fulfilled.
[970] Fix | Delete
* Default is empty array it will try to gather any props name set in the 'content' context.
[971] Fix | Delete
* Set to false to disable conditional check.
[972] Fix | Delete
*
[973] Fix | Delete
* @type array $required_some List of props key need to be fulfilled to render the element.
[974] Fix | Delete
* Will render the element if any one of the required props keys is fulfilled.
[975] Fix | Delete
* When defined, $required_some parameter will be prioritized over $required parameter.
[976] Fix | Delete
* }
[977] Fix | Delete
* @param boolean $echo Whether to print the output instead returning it.
[978] Fix | Delete
*
[979] Fix | Delete
* @return string|void
[980] Fix | Delete
*
[981] Fix | Delete
* @since 3.27.1
[982] Fix | Delete
*/
[983] Fix | Delete
public function render_element( $contexts = array(), $echo = false ) {
[984] Fix | Delete
// Define the array of defaults.
[985] Fix | Delete
$defaults = array(
[986] Fix | Delete
'tag' => 'span',
[987] Fix | Delete
'content' => '',
[988] Fix | Delete
'attrs' => array(),
[989] Fix | Delete
'styles' => array(),
[990] Fix | Delete
'classes' => array(),
[991] Fix | Delete
'visibility' => array(),
[992] Fix | Delete
'target' => '',
[993] Fix | Delete
'hover_selector' => '',
[994] Fix | Delete
'render_slug' => '',
[995] Fix | Delete
'custom_props' => array(),
[996] Fix | Delete
'required' => array(),
[997] Fix | Delete
);
[998] Fix | Delete
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function