: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
$mobile_menu_bg_color_phone = isset( $mobile_menu_bg_color_values['phone'] ) ? $mobile_menu_bg_color_values['phone'] : '';
$video_background = $this->video_background();
$parallax_image_background = $this->get_parallax_image_background();
$menu = self::get_fullwidth_menu( array(
'submenu_direction' => $submenu_direction,
et_pb_responsive_options()->generate_responsive_css( $active_link_color_values, "%%order_class%%.{$menu_slug} ul li.current-menu-item a", 'color', $render_slug, ' !important;', 'color' );
if ( et_builder_is_hover_enabled( 'active_link_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} ul li.current-menu-item a" ),
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $active_link_color_hover )
if ( '' !== $background_color || '' !== $dropdown_menu_bg_color ) {
$et_menu_bg_color = '' !== $dropdown_menu_bg_color ? $dropdown_menu_bg_color : $background_color;
ET_Builder_Element::set_style( $render_slug, array(
'selector' => "%%order_class%%.{$menu_slug} .nav li ul",
'declaration' => sprintf(
'background-color: %1$s !important;',
esc_html( $et_menu_bg_color )
if ( et_builder_is_hover_enabled( 'dropdown_menu_bg_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .nav li ul" ),
'declaration' => sprintf(
'background-color: %1$s !important;',
esc_html( $dropdown_menu_bg_color_hover )
$dropdown_menu_line_color_selector = 'upwards' === $submenu_direction
? "%%order_class%%.{$menu_slug} .et-menu-nav > ul.upwards li ul"
: "%%order_class%%.{$menu_slug} .nav li ul";
// Dropdown Menu Line Color.
et_pb_responsive_options()->generate_responsive_css( $dropdown_menu_line_color_values, $dropdown_menu_line_color_selector, 'border-color', $render_slug, '', 'color' );
et_pb_responsive_options()->generate_responsive_css( $dropdown_menu_line_color_values, "%%order_class%%.{$menu_slug} .et_mobile_menu", 'border-color', $render_slug, '', 'color' );
if ( et_builder_is_hover_enabled( 'dropdown_menu_line_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( $dropdown_menu_line_color_selector ),
'declaration' => sprintf(
esc_html( $dropdown_menu_line_color_hover )
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .et_mobile_menu" ),
'declaration' => sprintf(
esc_html( $dropdown_menu_line_color_hover )
if ( '' !== $dropdown_menu_text_color ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => "%%order_class%%.{$menu_slug} .nav li ul.sub-menu a",
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $dropdown_menu_text_color )
if ( '' !== $dropdown_menu_active_link_color ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => "%%order_class%%.{$menu_slug} .nav li ul.sub-menu li.current-menu-item a",
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $dropdown_menu_active_link_color )
if ( et_builder_is_hover_enabled( 'dropdown_menu_text_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .nav li ul.sub-menu a" ),
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $dropdown_menu_text_color_hover )
if ( et_builder_is_hover_enabled( 'dropdown_menu_active_link_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .nav li ul.sub-menu li.current-menu-item a" ),
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $dropdown_menu_active_link_color_hover )
// Mobile Menu Background Color.
$is_mobile_menu_bg_responsive = et_pb_responsive_options()->is_responsive_enabled( $this->props, 'mobile_menu_bg_color' );
$mobile_menu_bg_color = empty( $mobile_menu_bg_color ) ? $background_color : $mobile_menu_bg_color;
$mobile_menu_bg_color_tablet = empty( $mobile_menu_bg_color_tablet ) ? $background_color : $mobile_menu_bg_color_tablet;
$mobile_menu_bg_color_phone = empty( $mobile_menu_bg_color_phone ) ? $background_color : $mobile_menu_bg_color_phone;
$mobile_menu_bg_color_values = array(
'desktop' => esc_html( $mobile_menu_bg_color ),
'tablet' => $is_mobile_menu_bg_responsive ? esc_html( $mobile_menu_bg_color_tablet ) : '',
'phone' => $is_mobile_menu_bg_responsive ? esc_html( $mobile_menu_bg_color_phone ) : '',
et_pb_responsive_options()->generate_responsive_css( $mobile_menu_bg_color_values, "%%order_class%%.{$menu_slug} .et_mobile_menu, %%order_class%%.{$menu_slug} .et_mobile_menu ul", 'background-color', $render_slug, ' !important;', 'color' );
if ( et_builder_is_hover_enabled( 'mobile_menu_bg_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .et_mobile_menu, %%order_class%%.{$menu_slug} .et_mobile_menu ul" ) . ", %%order_class%%.{$menu_slug} .et_mobile_menu:hover ul",
'declaration' => sprintf(
'background-color: %1$s !important;',
esc_html( $mobile_menu_bg_color_hover )
// Mobile Menu Text Color.
et_pb_responsive_options()->generate_responsive_css( $mobile_menu_text_color_values, "%%order_class%%.{$menu_slug} .et_mobile_menu a", 'color', $render_slug, ' !important;', 'color' );
if ( et_builder_is_hover_enabled( 'mobile_menu_text_color', $this->props ) ) {
ET_Builder_Element::set_style( $render_slug, array(
'selector' => $this->add_hover_to_selectors( "%%order_class%%.{$menu_slug} .et_mobile_menu a" ),
'declaration' => sprintf(
'color: %1$s !important;',
esc_html( $mobile_menu_text_color_hover )
$this->apply_logo_styles( $render_slug );
$this->apply_icon_styles( $render_slug, 'menu', '%%order_class%% .mobile_nav .mobile_menu_bar:before' );
$this->apply_icon_styles( $render_slug, 'search', '%%order_class%% .et_pb_menu__icon.et_pb_menu__search-button, %%order_class%% .et_pb_menu__icon.et_pb_menu__close-search-button' );
$this->apply_icon_styles( $render_slug, 'cart', '%%order_class%% .et_pb_menu__icon.et_pb_menu__cart-button' );
$data_background_layout = '';
$data_background_layout_hover = '';
if ( $background_layout_hover_enabled ) {
$data_background_layout = sprintf(
' data-background-layout="%1$s"',
esc_attr( $background_layout )
$data_background_layout_hover = sprintf(
' data-background-layout-hover="%1$s"',
esc_attr( $background_layout_hover )
$this->add_classname( array(
"et_pb_bg_layout_{$background_layout}",
$this->get_text_orientation_classname(),
"et_dropdown_animation_{$dropdown_menu_animation}",
if ( ! empty( $background_layout_tablet ) ) {
$this->add_classname( "et_pb_bg_layout_{$background_layout_tablet}_tablet" );
if ( ! empty( $background_layout_phone ) ) {
$this->add_classname( "et_pb_bg_layout_{$background_layout_phone}_phone" );
if ( 'on' === $this->props['fullwidth_menu'] ) {
$this->add_classname( "{$menu_slug}_fullwidth" );
if ( ! empty( $this->props['logo'] ) ) {
$this->add_classname( "{$menu_slug}--with-logo" );
$this->add_classname( "{$menu_slug}--without-logo" );
$this->add_classname( "{$menu_slug}--style-{$menu_style}" );
// Logo: Add CSS Filters and Mix Blend Mode rules (if set).
if ( ! empty( $this->props['logo'] ) && array_key_exists( 'image', $this->advanced_fields ) && array_key_exists( 'css', $this->advanced_fields['image'] ) ) {
$this->add_classname( $this->generate_css_filters(
self::$data_utils->array_get( $this->advanced_fields['image']['css'], 'main', '%%order_class%%' )
'<div class="et_mobile_nav_menu">
<a href="#" class="mobile_nav closed%1$s">
<span class="mobile_menu_bar"></span>
'upwards' === $submenu_direction ? ' et_pb_mobile_menu_upwards' : ''
if ( 'inline_centered_logo' === $menu_style ) {
'<div%4$s class="%3$s"%2$s%7$s%8$s>
<div class="et_pb_row clearfix">
<div class="et_pb_menu__wrap">
<div class="et_pb_menu__menu">
$this->module_classname( $render_slug ),
$parallax_image_background,
et_core_esc_previously( $data_background_layout ),
et_core_esc_previously( $data_background_layout_hover ),
et_core_esc_previously( $this->render_logo() ),
et_core_esc_previously( $this->render_cart() ),
et_core_esc_previously( $this->render_search() ),
et_core_esc_previously( $mobile_menu ),
et_core_esc_previously( $this->render_search_form() )
'<div%4$s class="%3$s"%2$s%7$s%8$s>
<div class="et_pb_row clearfix">
<div class="et_pb_menu__wrap">
<div class="et_pb_menu__menu">
$this->module_classname( $render_slug ),
$parallax_image_background,
et_core_esc_previously( $data_background_layout ),
et_core_esc_previously( $data_background_layout_hover ),
et_core_esc_previously( $this->render_logo() ),
et_core_esc_previously( $this->render_cart() ),
et_core_esc_previously( $this->render_search() ),
et_core_esc_previously( $mobile_menu ),
et_core_esc_previously( $this->render_search_form() )
new ET_Builder_Module_Fullwidth_Menu;