' . "\n", esc_url( get_bloginfo( 'pingback_url' ) ) ); } } /** * Schema for tag. */ if ( ! function_exists( 'astra_schema_body' ) ) : /** * Adds schema tags to the body classes. * * @since 1.0.0 */ function astra_schema_body() { if ( true !== apply_filters( 'astra_schema_enabled', true ) ) { return; } // Check conditions. $is_blog = ( is_home() || is_archive() || is_attachment() || is_tax() || is_single() ) ? true : false; // Set up default itemtype. $itemtype = 'WebPage'; // Get itemtype for the blog. $itemtype = ( $is_blog ) ? 'Blog' : $itemtype; // Get itemtype for search results. $itemtype = ( is_search() ) ? 'SearchResultsPage' : $itemtype; // Get the result. $result = apply_filters( 'astra_schema_body_itemtype', $itemtype ); // Return our HTML. echo apply_filters( 'astra_schema_body', "itemtype='https://schema.org/" . esc_attr( $result ) . "' itemscope='itemscope'" ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } endif; /** * Adds custom classes to the array of body classes. */ if ( ! function_exists( 'astra_body_classes' ) ) { /** * Adds custom classes to the array of body classes. * * @since 1.0.0 * @param array $classes Classes for the body element. * @return array */ function astra_body_classes( $classes ) { if ( wp_is_mobile() ) { $classes[] = 'ast-header-break-point'; } else { $classes[] = 'ast-desktop'; } if ( astra_is_amp_endpoint() ) { $classes[] = 'ast-amp'; } // Apply content layout classes as per new revamped layout selection. $content_layout = astra_get_content_layout(); $is_boxed = astra_is_content_style_boxed(); $is_sidebar_boxed = astra_is_sidebar_style_boxed(); $content_layout = astra_apply_boxed_layouts( $content_layout, $is_boxed, $is_sidebar_boxed ); if ( 'content-boxed-container' == $content_layout ) { $classes[] = 'ast-separate-container'; } elseif ( 'boxed-container' == $content_layout ) { $classes[] = 'ast-separate-container ast-two-container'; } elseif ( 'page-builder' == $content_layout ) { $classes[] = 'ast-page-builder-template'; } elseif ( 'plain-container' == $content_layout ) { $classes[] = 'ast-plain-container'; } elseif ( 'narrow-container' == $content_layout ) { $classes[] = 'ast-narrow-container'; // Narrow meta migration case. $meta_old_layout = astra_get_option_meta( 'site-content-layout', '', true ); $meta_key = astra_get_option_meta( 'astra-migrate-meta-layouts', '', true ); $migrated_user = ( ! Astra_Dynamic_CSS::astra_fullwidth_sidebar_support() ); if ( 'narrow-container' === $meta_old_layout && 'set' !== $meta_key && $migrated_user ) { $is_boxed = false; } // Adding boxed class for narrow layout. if ( $is_boxed ) { $classes[] = 'ast-separate-container'; } } // Sidebar location. $sidebar_layout = astra_page_layout(); $page_layout = 'ast-' . $sidebar_layout; $classes[] = esc_attr( $page_layout ); // Current Astra verion. $classes[] = esc_attr( 'astra-' . ASTRA_THEME_VERSION ); if ( ! Astra_Builder_Helper::$is_header_footer_builder_active ) { $menu_item = astra_get_option( 'header-main-rt-section' ); $outside_menu = astra_get_option( 'header-display-outside-menu' ); if ( 'none' !== $menu_item && $outside_menu ) { $classes[] = 'ast-header-custom-item-outside'; } else { $classes[] = 'ast-header-custom-item-inside'; } /** * Add class for header width */ $header_content_layout = astra_get_option( 'header-main-layout-width' ); if ( 'full' == $header_content_layout ) { $classes[] = 'ast-full-width-primary-header'; } } // Add class for Sticky Sidebar if activated. if ( 'no-sidebar' !== $sidebar_layout ) { if ( astra_get_option( 'site-sticky-sidebar' ) ) { $classes[] = 'ast-sticky-sidebar'; } } return $classes; } } add_filter( 'body_class', 'astra_body_classes' ); /** * Checks whether content style is boxed for current layout. * * @since 4.2.0 * @param mixed $post_id Current post ID. * @return boolean */ function astra_is_content_style_boxed( $post_id = false ) { $post_type = strval( get_post_type() ); $blog_type = is_singular() ? 'single' : 'archive'; $global_content_style = astra_get_option( 'site-content-style' ); $meta_content_style = astra_get_option_meta( 'site-content-style', '', true ); $is_boxed = false; $is_third_party_shop = false; // Editor compatibility. if ( $post_id ) { $blog_type = 'single'; $meta_content_style = get_post_meta( $post_id, 'site-content-style', true ); } $content_style = astra_get_option( $blog_type . '-' . $post_type . '-content-style', '' ); // Third party compatibility. $third_party = astra_with_third_party(); if ( ! empty( $third_party ) ) { $third_party_content_style = astra_get_option( $third_party . '-content-style', '' ); if ( in_array( $third_party, array( 'lifterlms', 'learndash' ) ) && ! in_array( $post_type, Astra_Posts_Structure_Loader::get_supported_post_types() ) && empty( $meta_content_style ) ) { $blog_type = ''; } // Get global content style if third party is default. $global_content_style = ( 'default' === $third_party_content_style || empty( $third_party_content_style ) ) ? $global_content_style : $third_party_content_style; // Woo Cart & Checkout Page if ( 'woocommerce' === $third_party && ( is_cart() || is_checkout() ) && empty( $meta_content_style ) ) { return ( 'boxed' === $global_content_style ); } // Third party shop/archive page meta case. $third_party_meta_page = astra_third_party_archive_meta( 'site-content-style' ); $meta_content_style = isset( $third_party_meta_page ) && $third_party_meta_page ? $third_party_meta_page : $meta_content_style; $is_third_party_shop = isset( $third_party_meta_page ) && $third_party_meta_page ? true : false; } // Global. if ( 'boxed' === $global_content_style ) { $is_boxed = true; } // Archive. if ( 'archive' === $blog_type && ! empty( $content_style ) && 'default' !== $content_style ) { $is_boxed = ( 'boxed' === $content_style ); } // Single. if ( 'single' === $blog_type && ! empty( $content_style ) && 'default' !== $content_style ) { $is_boxed = ( 'boxed' === $content_style ); } // Meta. if ( ( 'single' === $blog_type || $is_third_party_shop ) && ! empty( $meta_content_style ) && 'default' !== $meta_content_style && ! $post_id ) { if ( 'boxed' === $meta_content_style ) { $is_boxed = true; } else { $is_boxed = false; } } // Search. if ( is_search() ) { $content_style = astra_get_option( 'ast-search-content-style', '' ); if ( ! empty( $content_style ) && 'default' !== $content_style ) { $is_boxed = ( 'boxed' === $content_style ); } } return apply_filters( 'astra_is_content_layout_boxed', $is_boxed ); } /** * Check if the current page is a third party page. * * @since 4.2.0 * @param bool $is_sidebar_option Optional. Whether to check sidebar option needed for Lifterlms case. Default false. * @return string|bool Returns the name of third party if page belongs to any, otherwise returns false. */ function astra_with_third_party( $is_sidebar_option = false ) { $post_type = strval( get_post_type() ); // @codingStandardsIgnoreStart /** * @psalm-suppress UndefinedFunction */ if ( class_exists( 'WooCommerce' ) && ( is_woocommerce() || is_checkout() || is_cart() || is_account_page() ) ) { return 'woocommerce'; } elseif ( class_exists( 'Easy_Digital_Downloads' ) && astra_is_edd_page() ) { return 'edd'; } elseif ( class_exists( 'LifterLMS' ) && ( is_lifterlms() || is_llms_account_page() || is_llms_checkout() ) ) { if ( $is_sidebar_option && ( is_lesson() || is_course() ) ) { return 'lifterlms-course-lesson'; } return 'lifterlms'; } elseif ( class_exists( 'SFWD_LMS' ) && in_array( $post_type, array( 'sfwd-courses', 'sfwd-lessons', 'sfwd-topic', 'sfwd-quiz', 'sfwd-certificates', 'sfwd-assignment' ) ) ) { return 'learndash'; } // @codingStandardsIgnoreEnd return false; } /** * Check if the sidebar style is boxed. * * @since 4.2.0 * @param mixed $post_id Current post ID. * @return bool Whether the sidebar style is boxed. */ function astra_is_sidebar_style_boxed( $post_id = false ) { $post_type = strval( get_post_type() ); $blog_type = is_singular() ? 'single' : 'archive'; $global_sidebar_style = astra_get_option( 'site-sidebar-style' ); $meta_sidebar_style = astra_get_option_meta( 'site-sidebar-style', '', true ); $is_sidebar_boxed = false; $is_third_party_shop = false; // Editor compatibility. if ( $post_id ) { $blog_type = 'single'; $meta_sidebar_style = get_post_meta( $post_id, 'site-sidebar-style', true ); } $sidebar_style = astra_get_option( $blog_type . '-' . $post_type . '-sidebar-style', '' ); // Third party compatibility. $third_party = astra_with_third_party( true ); if ( ! empty( $third_party ) ) { $third_party_sidebar_style = astra_get_option( $third_party . '-sidebar-style', '' ); if ( in_array( $third_party, array( 'lifterlms', 'learndash' ) ) && ! in_array( $post_type, Astra_Posts_Structure_Loader::get_supported_post_types() ) && empty( $meta_sidebar_style ) ) { $blog_type = ''; } // Get global sidebar style if third party is default. $global_sidebar_style = ( 'default' === $third_party_sidebar_style || empty( $third_party_sidebar_style ) ) ? $global_sidebar_style : $third_party_sidebar_style; // Woo Cart & Checkout Page if ( 'woocommerce' === $third_party && ( is_cart() || is_checkout() ) && empty( $meta_sidebar_style ) ) { return ( 'boxed' === $global_sidebar_style ); } // Third party shop/archive page meta case. $third_party_meta_page = astra_third_party_archive_meta( 'site-sidebar-style' ); $meta_sidebar_style = isset( $third_party_meta_page ) && $third_party_meta_page ? $third_party_meta_page : $meta_sidebar_style; $is_third_party_shop = isset( $third_party_meta_page ) && $third_party_meta_page ? true : false; } // Global. if ( 'boxed' === $global_sidebar_style ) { $is_sidebar_boxed = true; } // Archive. if ( 'archive' === $blog_type && ! empty( $sidebar_style ) && 'default' !== $sidebar_style ) { $is_sidebar_boxed = ( 'boxed' === $sidebar_style ); } // Single. if ( 'single' === $blog_type && ! empty( $sidebar_style ) && 'default' !== $sidebar_style ) { $is_sidebar_boxed = ( 'boxed' === $sidebar_style ); } // Meta. if ( ( 'single' === $blog_type || $is_third_party_shop ) && ! empty( $meta_sidebar_style ) && 'default' !== $meta_sidebar_style && ! $post_id ) { if ( 'boxed' === $meta_sidebar_style ) { $is_sidebar_boxed = true; } else { $is_sidebar_boxed = false; } } // Search. if ( is_search() ) { $sidebar_style = astra_get_option( 'ast-search-sidebar-style', '' ); if ( ! empty( $sidebar_style ) && 'default' !== $sidebar_style ) { $is_sidebar_boxed = ( 'boxed' === $sidebar_style ); } } return apply_filters( 'astra_is_sidebar_layout_boxed', $is_sidebar_boxed ); } /** * Switch to legacy boxed layouts (Content Boxed, Boxed) as per content style selection. * * @since 4.2.0 * @param mixed $content_layout Current layout. * @param boolean $is_boxed Current content style. * @param boolean $is_sidebar_boxed Current sidebar style. * @param mixed $post_id Current post ID. * @return mixed The content layout. */ function astra_apply_boxed_layouts( $content_layout, $is_boxed, $is_sidebar_boxed, $post_id = false ) { // Getting meta values here to handle meta migration cases. $meta_old_layout = is_singular() ? astra_get_option_meta( 'site-content-layout', '', true ) : ''; $meta_new_layout = astra_get_option_meta( 'ast-site-content-layout', '', true ); // To check whether migrated user or not. $meta_key = astra_get_option_meta( 'astra-migrate-meta-layouts', '', true ); $migrated_user = ( ! Astra_Dynamic_CSS::astra_fullwidth_sidebar_support() ); $sidebar_layout = astra_page_layout(); // Editor compatibility. if ( $post_id ) { $meta_old_layout = get_post_meta( $post_id, 'site-content-layout', true ); $meta_new_layout = get_post_meta( $post_id, 'ast-site-content-layout', true ); $meta_key = get_post_meta( $post_id, 'astra-migrate-meta-layouts', true ); $post_type = strval( get_post_type() ); $sidebar_layout = astra_get_sidebar_layout_for_editor( $post_type ); } // Third party archive meta migration. $third_party_meta_page = astra_third_party_archive_meta( 'site-content-layout' ); if ( false !== $third_party_meta_page && $migrated_user ) { $meta_old_layout = $third_party_meta_page; $meta_key = astra_third_party_archive_meta( 'astra-migrate-meta-layouts' ); } // Migrate old user existing container layout option to new layout options. if ( $meta_old_layout && 'set' !== $meta_key && $migrated_user ) { if ( 'plain-container' == $meta_old_layout && 'plain-container' === $content_layout ) { // No need to evaluate further as no boxed (content or boxed) layout will be applicable now. return $content_layout; } elseif ( 'content-boxed-container' == $meta_old_layout && 'plain-container' === $content_layout ) { $is_boxed = true; $is_sidebar_boxed = false; } elseif ( 'boxed-container' == $meta_old_layout && 'plain-container' === $content_layout ) { $is_boxed = true; $is_sidebar_boxed = true; } } // Apply content boxed layout or boxed layout depending on content/sidebar style. if ( 'plain-container' === $content_layout ) { if ( 'no-sidebar' === $sidebar_layout ) { if ( $is_boxed ) { $content_layout = 'boxed-container'; } } elseif ( 'no-sidebar' !== $sidebar_layout ) { if ( $is_boxed ) { $content_layout = $is_sidebar_boxed ? 'boxed-container' : 'content-boxed-container'; } elseif ( $is_sidebar_boxed ) { /** * Case: unboxed container with sidebar boxed * Container unboxed css is applied through astra_apply_unboxed_container() */ $content_layout = 'boxed-container'; } } } return $content_layout; } /** * WooCommerce, LifterLMS, EDD Archive (Shop, Courses, Memberships etc) Meta value. * * @since 4.2.0 * @param mixed $option name of the option to fetch. * @return mixed meta_value */ function astra_third_party_archive_meta( $option ) { $meta_value = false; $third_party = astra_with_third_party( true ); // Third party shop/archive page meta case. if ( 'woocommerce' === $third_party && ( is_shop() || is_product_taxonomy() ) ) { $shop_page_id = get_option( 'woocommerce_shop_page_id' ); $meta_value = get_post_meta( $shop_page_id, $option, true ); } elseif ( 'lifterlms' === $third_party ) { // @codingStandardsIgnoreStart /** * @psalm-suppress UndefinedFunction */ if ( is_courses() ) { $lifter_page_id = get_option( 'lifterlms_shop_page_id' ); $meta_value = get_post_meta( $lifter_page_id, $option, true ); } elseif ( is_memberships() ) { $lifter_page_id = get_option( 'lifterlms_memberships_page_id' ); $meta_value = get_post_meta( $lifter_page_id, $option, true ); } elseif ( is_course_taxonomy() ) { $meta_value = 'default'; } // @codingStandardsIgnoreEnd } elseif ( 'edd' === $third_party && astra_is_edd_single_page() ) { $page_id = get_the_ID(); /** @psalm-suppress PossiblyFalseArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $meta_value = get_post_meta( $page_id, $option, true ); } return $meta_value; } /** * Astra Pagination */ if ( ! function_exists( 'astra_number_pagination' ) ) { /** * Astra Pagination * * @since 1.0.0 * @return void Generate & echo pagination markup. */ function astra_number_pagination() { global $wp_query; $enabled = apply_filters( 'astra_pagination_enabled', true ); // Don't print empty markup if their is only one page. if ( $wp_query->max_num_pages < 2 || ! $enabled ) { return; } ob_start(); echo "
"; /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort the_posts_pagination( array( 'prev_text' => astra_default_strings( 'string-blog-navigation-previous', false ), 'next_text' => astra_default_strings( 'string-blog-navigation-next', false ), 'taxonomy' => 'category', 'in_same_term' => true, 'screen_reader_text' => __( 'Post pagination', 'astra' ), ) ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '
'; $output = ob_get_clean(); echo apply_filters( 'astra_pagination_markup', $output ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } add_action( 'astra_pagination', 'astra_number_pagination' ); /** * Return or echo site logo markup. */ if ( ! function_exists( 'astra_logo' ) ) { /** * Return or echo site logo markup. * * @since 1.0.0 * @param string $device Device name. * @param boolean $echo Echo markup. * @return mixed echo or return markup. */ function astra_logo( $device = 'desktop', $echo = true ) { $site_tagline = astra_get_option( 'display-site-tagline-responsive' ); $display_site_tagline = ( $site_tagline['desktop'] || $site_tagline['tablet'] || $site_tagline['mobile'] ) ? true : false; $site_title = astra_get_option( 'display-site-title-responsive' ); $display_site_title = ( $site_title['desktop'] || $site_title['tablet'] || $site_title['mobile'] ) ? true : false; $ast_custom_logo_id = get_theme_mod( 'custom_logo' ); $html = ''; $has_custom_logo = apply_filters( 'astra_has_custom_logo', has_custom_logo() ); $trans_logo = astra_get_option( 'transparent-header-logo' ); $diff_trans_logo = astra_get_option( 'different-transparent-logo' ); // Site logo. if ( ( $has_custom_logo && ! empty( $ast_custom_logo_id ) ) || ( true === $diff_trans_logo && ! empty( $trans_logo ) ) ) { if ( apply_filters( 'astra_replace_logo_width', true ) ) { add_filter( 'wp_get_attachment_image_src', 'astra_replace_header_logo', 10, 4 ); } $html .= ''; $html .= get_custom_logo(); $html .= ''; if ( apply_filters( 'astra_replace_logo_width', true ) ) { remove_filter( 'wp_get_attachment_image_src', 'astra_replace_header_logo', 10 ); } } $html .= astra_get_site_title_tagline( $display_site_title, $display_site_tagline, $device ); $html = apply_filters( 'astra_logo', $html, $display_site_title, $display_site_tagline ); /** * Echo or Return the Logo Markup */ if ( $echo ) { echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } else { return $html; } } } /** * Add custom attribute to custom site logo. * * @param mixed $html custom logo html. * @since 4.1.0 * @return mixed custom logo html. */ function astra_add_custom_logo_attributes( $html ) { $attributes = ''; return str_replace( 'rel="home"', 'rel="home"' . apply_filters( 'astra_custom_logo_attributes', $attributes ) . '', $html ); } add_filter( 'get_custom_logo', 'astra_add_custom_logo_attributes' ); /** * Return or echo site logo markup. * * @since 2.2.0 * @param boolean $display_site_title Site title enable or not. * @param boolean $display_site_tagline Site tagline enable or not. * @param string $device Device name. * * @return string return markup. */ function astra_get_site_title_tagline( $display_site_title, $display_site_tagline, $device = 'desktop' ) { $html = ''; if ( ! apply_filters( 'astra_disable_site_identity', false ) ) { // Site Title. $tag = apply_filters( 'astra_show_site_title_h1_tag', false ) ? 'h1' : 'span'; /** * Filters the site title output. * * @since 1.4.9 * * @param string the HTML output for Site Title. */ // Site Title. $site_title_markup = apply_filters( 'astra_site_title_output', sprintf( '<%1$s %4$s> %3$s ', /** * Filters the tags for site title. * * @since 1.3.1 * * @param string $tags string containing the HTML tags for Site Title. */ apply_filters( 'astra_site_title_tag', $tag ), /** * Filters the href for the site title. * * @since 1.4.9 * * @param string site title home url */ esc_url( apply_filters( 'astra_site_title_href', home_url( '/' ) ) ), /** * Filters the site title. * * @since 1.4.9 * * @param string site title */ apply_filters( 'astra_site_title', get_bloginfo( 'name' ) ), astra_attr( 'site-title', array( 'class' => 'site-title', ) ), astra_attr( 'site-title-link', array() ) ) ); // Site Description. /** * Filters the site description markup. * * @since 1.4.9 * * @param string the HTML output for Site Title. */ $site_tagline_markup = apply_filters( 'astra_site_description_markup', sprintf( '<%1$s class="site-description" itemprop="description"> %2$s ', /** * Filters the tags for site tagline. * * @since 1.8.5 */ apply_filters( 'astra_site_tagline_tag', 'p' ), /** * Filters the site description. * * @since 1.4.9 * * @param string site description */ apply_filters( 'astra_site_description', get_bloginfo( 'description' ) ) ) ); if ( $display_site_title || $display_site_tagline ) { /* translators: 1: Site Title Markup, 2: Site Tagline Markup */ $html .= sprintf( '
%1$s %2$s
', ( $display_site_title ) ? $site_title_markup : '', ( $display_site_tagline ) ? $site_tagline_markup : '' ); } } return $html; } /** * Return the selected sections */ if ( ! function_exists( 'astra_get_dynamic_header_content' ) ) { /** * Return the selected sections * * @since 1.0.0 * @param string $option Custom content type. E.g. search, text-html etc. * @return array Array of Custom contents. */ function astra_get_dynamic_header_content( $option ) { $output = array(); $section = astra_get_option( $option ); switch ( $section ) { case 'search': $output[] = astra_get_search( $option ); break; case 'text-html': $output[] = astra_get_custom_html( $option . '-html' ); break; case 'widget': $output[] = astra_get_custom_widget( $option ); break; case 'button': $output[] = astra_get_custom_button( $option . '-button-text', $option . '-button-link-option', $option . '-button-style' ); break; default: $output[] = apply_filters( 'astra_get_dynamic_header_content', '', $option, $section ); break; } return apply_filters( 'astra_get_dynamic_header_content_final', $output ); } } /** * Adding Wrapper for Search Form. */ if ( ! function_exists( 'astra_get_search' ) ) { /** * Adding Wrapper for Search Form. * * @since 1.0.0 * @param string $option Search Option name. * @param string $device Device name. * @return mixed Search HTML structure created. */ function astra_get_search( $option = '', $device = '' ) { ob_start(); ?> ' . do_shortcode( $custom_html_content ) . ''; } elseif ( current_user_can( 'edit_theme_options' ) ) { $custom_html = '' . __( 'Add Custom HTML', 'astra' ) . ''; } return $custom_html; } } /** * Get custom Button. */ if ( ! function_exists( 'astra_get_custom_button' ) ) { /** * Get custom HTML added by user. * * @since 1.0.0 * @param string $button_text Button Text. * @param string $button_options Button Link. * @param string $button_style Button Style. * @return String Button added by user in options panel. */ function astra_get_custom_button( $button_text = '', $button_options = '', $button_style = '' ) { $custom_html = ''; $button_classes = ''; $button_text = astra_get_option( $button_text ); $button_style = astra_get_option( $button_style ); $outside_menu = astra_get_option( 'header-display-outside-menu' ); $header_button = astra_get_option( $button_options ); $new_tab = ( $header_button['new_tab'] ? 'target="_blank"' : 'target="_self"' ); $link_rel = ( ! empty( $header_button['link_rel'] ) ? 'rel="' . esc_attr( $header_button['link_rel'] ) . '"' : '' ); $button_classes = ( 'theme-button' === $button_style ? 'ast-button' : 'ast-custom-button' ); $outside_menu_item = apply_filters( 'astra_convert_link_to_button', $outside_menu ); if ( '1' == $outside_menu_item ) { $custom_html = '
' . esc_html( do_shortcode( $button_text ) ) . '
'; } else { $custom_html = '
' . esc_html( do_shortcode( $button_text ) ) . '
'; $custom_html .= '' . esc_html( do_shortcode( $button_text ) ) . ''; } return $custom_html; } } /** * Get Widget added by user. */ if ( ! function_exists( 'astra_get_custom_widget' ) ) { /** * Get custom widget added by user. * * @since 1.0.1.1 * @param string $option_name Option name. * @return Widget added by user in options panel. */ function astra_get_custom_widget( $option_name = '' ) { ob_start(); if ( 'header-main-rt-section' == $option_name ) { $widget_id = 'header-widget'; } if ( 'footer-sml-section-1' == $option_name ) { $widget_id = 'footer-widget-1'; } elseif ( 'footer-sml-section-2' == $option_name ) { $widget_id = 'footer-widget-2'; } echo '
'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped astra_get_sidebar( $widget_id ); echo '
'; return ob_get_clean(); } } /** * Function to get Small Left/Right Footer */ if ( ! function_exists( 'astra_get_small_footer' ) ) { /** * Function to get Small Left/Right Footer * * @since 1.0.0 * @param string $section Sections of Small Footer. * @return mixed Markup of sections. */ function astra_get_small_footer( $section = '' ) { $small_footer_type = astra_get_option( $section ); $output = null; switch ( $small_footer_type ) { case 'menu': $output = astra_get_small_footer_menu(); break; case 'custom': $output = astra_get_small_footer_custom_text( $section . '-credit' ); break; case 'widget': $output = astra_get_custom_widget( $section ); break; } return $output; } } /** * Function to get Small Footer Custom Text */ if ( ! function_exists( 'astra_get_small_footer_custom_text' ) ) { /** * Function to get Small Footer Custom Text * * @since 1.0.14 * @param string $option Custom text option name. * @return mixed Markup of custom text option. */ function astra_get_small_footer_custom_text( $option = '' ) { $output = $option; if ( '' != $option ) { $output = astra_get_option( $option ); $output = str_replace( '[current_year]', date_i18n( 'Y' ), $output ); $output = str_replace( '[site_title]', '' . get_bloginfo( 'name' ) . '', $output ); $theme_author = apply_filters( 'astra_theme_author', array( 'theme_name' => __( 'Astra WordPress Theme', 'astra' ), 'theme_author_url' => 'https://wpastra.com/', ) ); $output = str_replace( '[theme_author]', '' . $theme_author['theme_name'] . '', $output ); } return do_shortcode( $output ); } } /** * Function to get Footer Menu */ if ( ! function_exists( 'astra_get_small_footer_menu' ) ) { /** * Function to get Footer Menu * * @since 1.0.0 * @return html */ function astra_get_small_footer_menu() { ob_start(); if ( has_nav_menu( 'footer_menu' ) ) { wp_nav_menu( array( 'container' => 'div', 'container_class' => 'footer-primary-navigation', 'theme_location' => 'footer_menu', 'menu_class' => 'nav-menu', 'items_wrap' => '', 'depth' => 1, ) ); } else { if ( is_user_logged_in() && current_user_can( 'edit_theme_options' ) ) { ?> * * @since 1.0.0 */ function astra_header_markup() { do_action( 'astra_header_markup_before' ); ?>
'masthead', 'class' => join( ' ', astra_get_header_classes() ), ) ); ?> >
'ast-site-identity', ) ); ?> >
'; /** * Fires before the Primary Header Menu navigation. * Disable Primary Menu is checked * Last Item in Menu is not 'none'. * Take Last Item in Menu outside is unchecked. * * @since 1.4.0 */ do_action( 'astra_main_header_custom_menu_item_before' ); echo astra_masthead_get_menu_items(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped /** * Fires after the Primary Header Menu navigation. * Disable Primary Menu is checked * Last Item in Menu is not 'none'. * Take Last Item in Menu outside is unchecked. * * @since 1.4.0 */ do_action( 'astra_main_header_custom_menu_item_after' ); echo ''; } } else { $submenu_class = apply_filters( 'astra_primary_submenu_border_class', ' submenu-with-border' ); // Menu Animation. $menu_animation = astra_get_option( 'header-main-submenu-container-animation' ); if ( ! empty( $menu_animation ) ) { $submenu_class .= ' astra-menu-animation-' . esc_attr( $menu_animation ) . ' '; } /** * Filter the classes(array) for Primary Menu (