Astra_Builder_UI_Controller::render_social_icon( string $index, string $builder_type = 'header' )
Prepare Social Icon HTML.
Description
Parameters
- $index
-
(string) (Required) The Index of the social icon.
- $builder_type
-
(string) (Optional) the type of the builder.
Default value: 'header'
Source
File: inc/builder/controllers/class-astra-builder-ui-controller.php
public static function render_social_icon( $index, $builder_type = 'header' ) { $items = astra_get_option( $builder_type . '-social-icons-' . $index ); $items = isset( $items['items'] ) ? $items['items'] : array(); $show_label = astra_get_option( $builder_type . '-social-' . $index . '-label-toggle' ); $color_type = astra_get_option( $builder_type . '-social-' . $index . '-color-type' ); $social_stack = astra_get_option( $builder_type . '-social-' . $index . '-stack', 'none' ); echo '<div class="ast-' . esc_attr( $builder_type ) . '-social-' . esc_attr( $index ) . '-wrap ast-' . esc_attr( $builder_type ) . '-social-wrap">'; if ( is_customize_preview() ) { self::render_customizer_edit_button(); } echo '<div class="' . esc_attr( $builder_type ) . '-social-inner-wrap element-social-inner-wrap social-show-label-' . ( $show_label ? 'true' : 'false' ) . ' ast-social-color-type-' . esc_attr( $color_type ) . ' ast-social-stack-' . esc_attr( $social_stack ) . ' ast-social-element-style-filled">'; if ( is_array( $items ) && ! empty( $items ) ) { foreach ( $items as $item ) { if ( $item['enabled'] ) { $link = $item['url']; switch ( $item['id'] ) { case 'phone': $link = 'tel:' . $item['url']; break; case 'email': $link = 'mailto:' . $item['url']; break; case 'whatsapp': $link = 'https://api.whatsapp.com/send?phone=' . $item['url']; break; } echo '<a href="' . esc_url( $link ) . '"' . esc_attr( $item['label'] ? ' aria-label=' . $item['label'] . '' : ' aria-label=' . $item['id'] . '' ) . ' ' . ( 'phone' === $item['id'] || 'email' === $item['id'] ? '' : 'target="_blank" rel="noopener noreferrer" ' ) . 'style="--color: ' . esc_attr( ! empty( $item['color'] ) ? $item['color'] : '#3a3a3a' ) . '; --background-color: ' . esc_attr( ! empty( $item['background'] ) ? $item['background'] : 'transparent' ) . ';" class="ast-builder-social-element ast-inline-flex ast-' . esc_attr( $item['id'] ) . ' ' . esc_attr( $builder_type ) . '-social-item">'; echo self::fetch_svg_icon( $item['icon'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if ( $show_label ) { echo '<span class="social-item-label">' . esc_html( $item['label'] ) . '</span>'; } echo '</a>'; } } } echo apply_filters( 'astra_social_icons_after', '' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '</div>'; echo '</div>'; }
Expand full source code Collapse full source code View on Trac