' . "\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() { // 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_html( $result ) . "' itemscope='itemscope'" ); } 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'; } // Apply separate container class to the body. $content_layout = astra_get_content_layout(); 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'; } // Sidebar location. $page_layout = 'ast-' . astra_page_layout(); $classes[] = esc_attr( $page_layout ); // Current Astra verion. $classes[] = esc_attr( 'astra-' . ASTRA_THEME_VERSION ); $outside_menu = astra_get_option( 'header-display-outside-menu' ); if ( $outside_menu ) { $classes[] = 'ast-header-custom-item-outside'; } else { $classes[] = 'ast-header-custom-item-inside'; } return $classes; } }// End if(). add_filter( 'body_class', 'astra_body_classes' ); /** * 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 $numpages; $enabled = apply_filters( 'astra_pagination_enabled', true ); if ( isset( $numpages ) && $enabled ) { ob_start(); echo "
"; the_posts_pagination( array( 'prev_text' => astra_default_strings( 'string-blog-navigation-previous', false ), 'next_text' => astra_default_strings( 'string-blog-navigation-next', false ), ) ); echo '
'; $output = ob_get_clean(); echo apply_filters( 'astra_pagination_markup', $output ); // WPCS: XSS OK. } } }// End if(). 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 boolean $echo Echo markup. * @return mixed echo or return markup. */ function astra_logo( $echo = true ) { $display_site_tagline = astra_get_option( 'display-site-tagline' ); $display_site_title = astra_get_option( 'display-site-title' ); $html = ''; $has_custom_logo = apply_filters( 'astra_has_custom_logo', has_custom_logo() ); // Site logo. if ( $has_custom_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 ); } } if ( ! apply_filters( 'astra_disable_site_identity', false ) ) { // Site Title. $tag = 'span'; if ( is_home() || is_front_page() ) { $tag = 'h1'; } $site_title_markup = '<' . $tag . ' itemprop="name" class="site-title"> '; // Site Description. $site_tagline_markup = '

' . 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 : '' ); } } $html = apply_filters( 'astra_logo', $html, $display_site_title, $display_site_tagline ); /** * Echo or Return the Logo Markup */ if ( $echo ) { echo $html; } else { return $html; } } }// End if(). /** * 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; default: $output[] = apply_filters( 'astra_get_dynamic_header_content', '', $option, $section ); break; } return $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. * @return mixed Search HTML structure created. */ function astra_get_search( $option = '' ) { $search_html = '
' . esc_html__( 'Search', 'astra' ) . '
'; return apply_filters( 'astra_get_search', $search_html, $option ); } } /** * Get custom HTML added by user. */ if ( ! function_exists( 'astra_get_custom_html' ) ) { /** * Get custom HTML added by user. * * @since 1.0.0 * @param string $option_name Option name. * @return String TEXT/HTML added by user in options panel. */ function astra_get_custom_html( $option_name = '' ) { $custom_html = ''; $custom_html_content = astra_get_option( $option_name ); if ( ! empty( $custom_html_content ) ) { $custom_html = '
' . do_shortcode( $custom_html_content ) . '
'; } elseif ( current_user_can( 'edit_theme_options' ) ) { $custom_html = '' . __( 'Add Custom HTML', 'astra' ) . ''; } 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 '
'; 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; } }// End if(). /** * 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', 'astra' ) ), $output ); $output = str_replace( '[site_title]', '' . get_bloginfo( 'name' ) . '', $output ); $theme_author = apply_filters( 'astra_theme_author', array( 'theme_name' => __( 'Astra', 'astra' ), 'theme_author_url' => 'http://wpastra.com/', ) ); $output = str_replace( '[theme_author]', '' . $theme_author['theme_name'] . '', $output ); } return $output; } }// End if(). /** * 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() { ?>
role="banner">
'; echo astra_masthead_get_menu_items(); echo ''; } } else { $submenu_class = apply_filters( 'primary_submenu_border_class', ' submenu-with-border' ); // Fallback Menu if primary menu not set. $fallback_menu_args = array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu', 'menu_class' => 'main-navigation', 'container' => 'div', 'before' => '', ); $items_wrap = ''; // Primary Menu. $primary_menu_args = array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu', 'menu_class' => 'main-header-menu ast-flex ast-justify-content-flex-end' . $submenu_class, 'container' => 'div', 'container_class' => 'main-header-bar-navigation', 'items_wrap' => $items_wrap, ); if ( has_nav_menu( 'primary' ) ) { // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. echo '
'; wp_nav_menu( $primary_menu_args ); echo '
'; } else { echo '
'; echo ''; echo '
'; } }// End if(). } }// End if(). add_action( 'astra_masthead_content', 'astra_primary_navigation_markup', 10 ); /** * Function to get site Footer */ if ( ! function_exists( 'astra_footer_markup' ) ) { /** * Site Footer -