settings['footer_box_border'] ?? ''; if ( 'yes' === $box_border ) { $layout_classnames .= ' has-box-border'; } $render_attributes = [ 'class' => $layout_classnames, ]; $this->widget->add_render_attribute( 'layout', $render_attributes ); $this->maybe_add_advanced_attributes(); ?> settings['advanced_custom_css_id']; $advanced_css_classes = $this->settings['advanced_custom_css_classes']; $wrapper_render_attributes = []; if ( ! empty( $advanced_css_classes ) ) { $wrapper_render_attributes['class'] = $advanced_css_classes; } if ( ! empty( $advanced_css_id ) ) { $wrapper_render_attributes['id'] = $advanced_css_id; } if ( empty( $wrapper_render_attributes ) ) { return; } $this->widget->add_render_attribute( '_wrapper', $wrapper_render_attributes ); } public function render_side_content(): void { $description_text = $this->settings['footer_description']; $description_tag = $this->settings['footer_description_tag'] ?? 'p'; $has_description = '' !== $description_text; ?> settings['site_logo_image']; $site_title_text = $this->widget->get_site_title(); $site_title_tag = $this->settings['site_logo_title_tag'] ?? 'h2'; $site_link_classnames = self::SITE_LINK_CLASSNAME; $this->widget->add_render_attribute( 'site-link', [ 'class' => $site_link_classnames, ] ); $site_link = $this->get_link_url(); if ( $site_link ) { $this->widget->add_link_attributes( 'site-link', $site_link ); } if ( $site_logo_image ) { $this->settings['site_logo_image'] = $this->widget->add_site_logo_if_present( $this->settings['site_logo_image'] ); } ?> widget->print_render_attribute_string( 'site-link' ); ?>> settings, 'site_logo_image' ); ?> %4$s', Utils::validate_html_tag( $site_title_tag ), $this->widget->get_render_attribute_string( 'heading' ), 'class="ehp-footer__site-title"', esc_html( $site_title_text ) ); // Escaped above Utils::print_unescaped_internal_string( $site_title_output ); } ?> settings['footer_icons'] ?? []; $icon_hover_animation = $this->settings['social_icons_hover_animation'] ?? ''; $footer_icons_classnames = 'ehp-footer__social-icons'; if ( empty( $icons ) ) { return; } $this->widget->add_render_attribute( 'icons', [ 'class' => $footer_icons_classnames, ] ); ?>
widget->print_render_attribute_string( 'icons' ); ?>> $icon ) { $link = $icon['footer_icon_link']; $text = $icon['footer_icon_text']; $selected_icon = $icon['footer_selected_icon']; $icon_classnames = 'ehp-footer__social-icon'; if ( $icon_hover_animation ) { $icon_classnames .= ' elementor-animation-' . $icon_hover_animation; } $this->widget->add_render_attribute( 'icon-' . $key, [ 'class' => $icon_classnames, 'aria-label' => esc_html( $text ), ] ); $this->widget->add_link_attributes( 'icon-' . $key, $link ); ?> widget->print_render_attribute_string( 'icon-' . $key ); ?>> 'true' ] ); ?>
widget->get_available_menus(); $menu_classname = 'ehp-footer__menu'; $menu_heading = $this->settings['footer_menu_heading']; $menu_heading_tag = $this->settings['footer_menu_heading_tag'] ?? 'h6'; $has_menu_heading = '' !== $menu_heading; if ( ! $available_menus ) { return; } $args = [ 'echo' => false, 'menu' => $this->settings['navigation_menu'], 'menu_class' => $menu_classname, 'menu_id' => 'menu-' . $this->widget->get_and_advance_nav_menu_index() . '-' . $this->widget->get_id(), 'fallback_cb' => '__return_empty_string', 'container' => '', 'depth' => 1, ]; add_filter( 'nav_menu_link_attributes', [ $this, 'handle_link_classes' ], 10, 4 ); $menu_html = wp_nav_menu( $args ); remove_filter( 'nav_menu_link_attributes', [ $this, 'handle_link_classes' ] ); if ( empty( $menu_html ) ) { return; } if ( $this->settings['footer_menu_heading'] ) { $this->widget->add_render_attribute( 'main-menu', 'aria-label', $this->settings['footer_menu_heading'] ); } $this->widget->add_render_attribute( 'main-menu', [ 'class' => 'ehp-footer__navigation', ] ); ?> settings['footer_contact_heading']; $contact_tag = $this->settings['footer_contact_heading_tag'] ?? 'p'; $has_contact = '' !== $contact_text; $contact_information_text = $this->settings['footer_contact_information']; $contact_information_tag = $this->settings['footer_contact_information_tag'] ?? 'p'; $has_contact_information = '' !== $contact_information_text; $this->widget->add_render_attribute( 'contact', [ 'class' => 'ehp-footer__contact', ] ); ?> settings['footer_copyright']; $copyright_tag = $this->settings['footer_copyright_tag'] ?? 'p'; $has_copyright = '' !== $copyright_text; ?> $this->widget->get_site_url() ]; } public function handle_link_classes( $atts, $item ) { $classes = 'ehp-footer__menu-item'; $is_anchor = false !== strpos( $atts['href'], '#' ); $has_hover_animation = $this->settings['style_navigation_hover_animation'] ?? ''; if ( $has_hover_animation ) { $classes .= ' elementor-animation-' . $has_hover_animation; } if ( ! $is_anchor && in_array( 'current-menu-item', $item->classes, true ) ) { $classes .= ' is-item-active'; } if ( $is_anchor ) { $classes .= ' is-item-anchor'; } if ( empty( $atts['class'] ) ) { $atts['class'] = $classes; } else { $atts['class'] .= ' ' . $classes; } return $atts; } public function __construct( Ehp_Footer $widget ) { $this->widget = $widget; $this->settings = $widget->get_settings_for_display(); } }