summaryrefslogtreecommitdiff
path: root/template-parts
diff options
context:
space:
mode:
Diffstat (limited to 'template-parts')
-rw-r--r--template-parts/404/404-layout.php28
-rw-r--r--template-parts/404/index.php9
-rw-r--r--template-parts/advanced-footer/layout-4.php50
-rw-r--r--template-parts/blog/blog-layout.php42
-rw-r--r--template-parts/blog/index.php9
-rw-r--r--template-parts/content-404.php25
-rw-r--r--template-parts/content-blog.php28
-rw-r--r--template-parts/content-none.php48
-rw-r--r--template-parts/content-page.php87
-rw-r--r--template-parts/content-single.php35
-rw-r--r--template-parts/content.php99
-rw-r--r--template-parts/footer/builder/components.php166
-rw-r--r--template-parts/footer/builder/desktop-builder-layout.php46
-rw-r--r--template-parts/footer/builder/footer-row.php77
-rw-r--r--template-parts/footer/footer-sml-layout-2.php64
-rw-r--r--template-parts/footer/footer-sml-layout.php40
-rw-r--r--template-parts/footer/index.php9
-rw-r--r--template-parts/header/builder/components.php195
-rw-r--r--template-parts/header/builder/desktop-builder-layout.php51
-rw-r--r--template-parts/header/builder/header-row.php101
-rw-r--r--template-parts/header/builder/mobile-builder-layout.php46
-rw-r--r--template-parts/header/builder/mobile-header-row.php93
-rw-r--r--template-parts/header/header-main-layout.php30
-rw-r--r--template-parts/header/index.php9
-rw-r--r--template-parts/index.php9
-rw-r--r--template-parts/single/index.php9
-rw-r--r--template-parts/single/single-layout.php70
27 files changed, 1475 insertions, 0 deletions
diff --git a/template-parts/404/404-layout.php b/template-parts/404/404-layout.php
new file mode 100644
index 0000000..bd57724
--- /dev/null
+++ b/template-parts/404/404-layout.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Template for 404
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+?>
+<div <?php echo astra_attr( '404_page', array( 'class' => 'ast-404-layout-1' ) ); ?> >
+
+ <?php astra_the_title( '<header class="page-header"><h1 class="page-title">', '</h1></header><!-- .page-header -->' ); ?>
+
+ <div class="page-content">
+
+ <div class="page-sub-title">
+ <?php echo esc_html( astra_default_strings( 'string-404-sub-title', false ) ); ?>
+ </div>
+
+ <div class="ast-404-search">
+ <?php the_widget( 'WP_Widget_Search' ); ?>
+ </div>
+
+ </div><!-- .page-content -->
+</div>
diff --git a/template-parts/404/index.php b/template-parts/404/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/404/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/advanced-footer/layout-4.php b/template-parts/advanced-footer/layout-4.php
new file mode 100644
index 0000000..91bf587
--- /dev/null
+++ b/template-parts/advanced-footer/layout-4.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Footer Layout 4
+ *
+ * @package Astra Addon
+ * @since Astra 1.0.12
+ */
+
+/**
+ * Hide advanced footer markup if:
+ *
+ * - User is not logged in. [AND]
+ * - All widgets are not active.
+ */
+if ( ! is_user_logged_in() ) {
+ if (
+ ! is_active_sidebar( 'advanced-footer-widget-1' ) &&
+ ! is_active_sidebar( 'advanced-footer-widget-2' ) &&
+ ! is_active_sidebar( 'advanced-footer-widget-3' ) &&
+ ! is_active_sidebar( 'advanced-footer-widget-4' )
+ ) {
+ return;
+ }
+}
+
+$classes[] = 'footer-adv';
+$classes[] = 'footer-adv-layout-4';
+$classes = implode( ' ', $classes );
+?>
+
+<div class="<?php echo esc_attr( $classes ); ?>">
+ <div class="footer-adv-overlay">
+ <div class="ast-container">
+ <div class="ast-row">
+ <div class="<?php echo astra_attr( 'ast-layout-4-grid' ); ?> footer-adv-widget footer-adv-widget-1" <?php echo wp_kses_post( apply_filters( 'astra_sidebar_data_attrs', '', 'advanced-footer-widget-1' ) ); ?>>
+ <?php astra_get_footer_widget( 'advanced-footer-widget-1' ); ?>
+ </div>
+ <div class="<?php echo astra_attr( 'ast-layout-4-grid' ); ?> footer-adv-widget footer-adv-widget-2" <?php echo wp_kses_post( apply_filters( 'astra_sidebar_data_attrs', '', 'advanced-footer-widget-2' ) ); ?>>
+ <?php astra_get_footer_widget( 'advanced-footer-widget-2' ); ?>
+ </div>
+ <div class="<?php echo astra_attr( 'ast-layout-4-grid' ); ?> footer-adv-widget footer-adv-widget-3" <?php echo wp_kses_post( apply_filters( 'astra_sidebar_data_attrs', '', 'advanced-footer-widget-3' ) ); ?>>
+ <?php astra_get_footer_widget( 'advanced-footer-widget-3' ); ?>
+ </div>
+ <div class="<?php echo astra_attr( 'ast-layout-4-grid' ); ?> footer-adv-widget footer-adv-widget-4" <?php echo wp_kses_post( apply_filters( 'astra_sidebar_data_attrs', '', 'advanced-footer-widget-4' ) ); ?>>
+ <?php astra_get_footer_widget( 'advanced-footer-widget-4' ); ?>
+ </div>
+ </div><!-- .ast-row -->
+ </div><!-- .ast-container -->
+ </div><!-- .footer-adv-overlay-->
+</div><!-- .ast-theme-footer .footer-adv-layout-4 -->
diff --git a/template-parts/blog/blog-layout.php b/template-parts/blog/blog-layout.php
new file mode 100644
index 0000000..66acc03
--- /dev/null
+++ b/template-parts/blog/blog-layout.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Template for Blog
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+?>
+<div <?php astra_blog_layout_class( 'blog-layout-1' ); ?>>
+ <div class="post-content <?php echo astra_attr( 'ast-grid-common-col' ); ?>" >
+ <?php astra_blog_post_thumbnail_and_title_order(); ?>
+ <div class="entry-content clear"
+ <?php
+ echo astra_attr(
+ 'article-entry-content-blog-layout',
+ array(
+ 'class' => '',
+ )
+ );
+ ?>
+ >
+ <?php
+ astra_entry_content_before();
+ astra_the_excerpt();
+ astra_entry_content_after();
+
+ wp_link_pages(
+ array(
+ 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-blog-page-links-before', false ) ),
+ 'after' => '</div>',
+ 'link_before' => '<span class="page-link">',
+ 'link_after' => '</span>',
+ )
+ );
+ ?>
+ </div><!-- .entry-content .clear -->
+ </div><!-- .post-content -->
+</div> <!-- .blog-layout-1 -->
diff --git a/template-parts/blog/index.php b/template-parts/blog/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/blog/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/content-404.php b/template-parts/content-404.php
new file mode 100644
index 0000000..6d89689
--- /dev/null
+++ b/template-parts/content-404.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Template part for displaying a 404 page.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.2.7
+ */
+
+?>
+
+<?php astra_entry_before(); ?>
+
+<section class="error-404 not-found">
+
+ <?php astra_entry_top(); ?>
+
+ <?php astra_entry_content_404_page(); ?>
+
+ <?php astra_entry_bottom(); ?>
+
+</section><!-- .error-404 -->
+
+<?php astra_entry_after(); ?>
diff --git a/template-parts/content-blog.php b/template-parts/content-blog.php
new file mode 100644
index 0000000..7992674
--- /dev/null
+++ b/template-parts/content-blog.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Template part for displaying posts.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+<?php astra_entry_before(); ?>
+<article
+<?php
+ echo astra_attr(
+ 'article-blog',
+ array(
+ 'id' => 'post-' . get_the_id(),
+ 'class' => join( ' ', get_post_class() ),
+ )
+ );
+ ?>
+>
+ <?php astra_entry_top(); ?>
+ <?php astra_entry_content_blog(); ?>
+ <?php astra_entry_bottom(); ?>
+</article><!-- #post-## -->
+<?php astra_entry_after(); ?>
diff --git a/template-parts/content-none.php b/template-parts/content-none.php
new file mode 100644
index 0000000..56a9a14
--- /dev/null
+++ b/template-parts/content-none.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Template part for displaying a message that posts cannot be found.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+
+<section class="no-results not-found">
+ <div class="page-content">
+
+ <?php if ( is_home() && current_user_can( 'publish_posts' ) ) : ?>
+
+ <p>
+ <?php
+ printf(
+ wp_kses(
+ /* translators: 1: link to new post */
+ __( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'astra' ),
+ array(
+ 'a' => array(
+ 'href' => array(),
+ ),
+ )
+ ),
+ esc_url( admin_url( 'post-new.php' ) )
+ );
+ ?>
+ </p>
+
+ <?php elseif ( is_search() ) : ?>
+
+ <p><?php echo esc_html( astra_default_strings( 'string-search-nothing-found-message', false ) ); ?></p>
+ <?php get_search_form(); ?>
+
+ <?php else : ?>
+
+ <p><?php echo esc_html( astra_default_strings( 'string-content-nothing-found-message', false ) ); ?></p>
+ <?php get_search_form(); ?>
+
+ <?php endif; ?>
+
+ </div><!-- .page-content -->
+</section><!-- .no-results -->
diff --git a/template-parts/content-page.php b/template-parts/content-page.php
new file mode 100644
index 0000000..274f34c
--- /dev/null
+++ b/template-parts/content-page.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * Template part for displaying page content in page.php.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+<?php astra_entry_before(); ?>
+<article
+<?php
+ echo astra_attr(
+ 'article-page',
+ array(
+ 'id' => 'post-' . get_the_id(),
+ 'class' => join( ' ', get_post_class() ),
+ )
+ );
+ ?>
+>
+ <?php astra_entry_top(); ?>
+ <header class="entry-header <?php astra_entry_header_class(); ?>">
+ <?php astra_get_post_thumbnail(); ?>
+
+ <?php
+ astra_the_title(
+ '<h1 class="entry-title" ' . astra_attr(
+ 'article-title-content-page',
+ array(
+ 'class' => '',
+ )
+ ) . '>',
+ '</h1>'
+ );
+ ?>
+ </header><!-- .entry-header -->
+
+ <div class="entry-content clear"
+ <?php
+ echo astra_attr(
+ 'article-entry-content-page',
+ array(
+ 'class' => '',
+ )
+ );
+ ?>
+ >
+
+ <?php astra_entry_content_before(); ?>
+
+ <?php the_content(); ?>
+
+ <?php astra_entry_content_after(); ?>
+
+ <?php
+ wp_link_pages(
+ array(
+ 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-single-page-links-before', false ) ),
+ 'after' => '</div>',
+ 'link_before' => '<span class="page-link">',
+ 'link_after' => '</span>',
+ )
+ );
+ ?>
+
+ </div><!-- .entry-content .clear -->
+
+ <?php
+ astra_edit_post_link(
+ sprintf(
+ /* translators: %s: Name of current post */
+ esc_html__( 'Edit %s', 'astra' ),
+ the_title( '<span class="screen-reader-text">"', '"</span>', false )
+ ),
+ '<footer class="entry-footer"><span class="edit-link">',
+ '</span></footer><!-- .entry-footer -->'
+ );
+ ?>
+
+ <?php astra_entry_bottom(); ?>
+
+</article><!-- #post-## -->
+
+<?php astra_entry_after(); ?>
diff --git a/template-parts/content-single.php b/template-parts/content-single.php
new file mode 100644
index 0000000..8fa2e65
--- /dev/null
+++ b/template-parts/content-single.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Template part for displaying single posts.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+
+<?php astra_entry_before(); ?>
+
+<article
+<?php
+ echo astra_attr(
+ 'article-single',
+ array(
+ 'id' => 'post-' . get_the_id(),
+ 'class' => join( ' ', get_post_class() ),
+ )
+ );
+ ?>
+>
+
+ <?php astra_entry_top(); ?>
+
+ <?php astra_entry_content_single(); ?>
+
+ <?php astra_entry_bottom(); ?>
+
+</article><!-- #post-## -->
+
+<?php astra_entry_after(); ?>
diff --git a/template-parts/content.php b/template-parts/content.php
new file mode 100644
index 0000000..fe10036
--- /dev/null
+++ b/template-parts/content.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Template part for displaying posts.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+
+<?php astra_entry_before(); ?>
+
+<article
+<?php
+ echo astra_attr(
+ 'article-content',
+ array(
+ 'id' => 'post-' . get_the_id(),
+ 'class' => join( ' ', get_post_class() ),
+ )
+ );
+ ?>
+>
+ <?php astra_entry_top(); ?>
+
+ <header class="entry-header <?php astra_entry_header_class(); ?>">
+
+ <?php
+ astra_the_title(
+ sprintf(
+ '<h2 class="entry-title" ' . astra_attr(
+ 'article-title-content',
+ array(
+ 'class' => '',
+ )
+ ) . '><a href="%s" rel="bookmark">',
+ esc_url( get_permalink() )
+ ),
+ '</a></h2>'
+ );
+ ?>
+
+ </header><!-- .entry-header -->
+
+ <div class="entry-content clear"
+ <?php
+ echo astra_attr(
+ 'article-entry-content',
+ array(
+ 'class' => '',
+ )
+ );
+ ?>
+ >
+
+ <?php astra_entry_content_before(); ?>
+
+ <?php
+ the_content(
+ sprintf(
+ wp_kses(
+ /* translators: %s: Name of current post. */
+ __( 'Continue reading %s', 'astra' ) . ' <span class="meta-nav">&rarr;</span>',
+ array(
+ 'span' => array(
+ 'class' => array(),
+ ),
+ )
+ ),
+ the_title( '<span class="screen-reader-text">"', '"</span>', false )
+ )
+ );
+ ?>
+
+ <?php astra_entry_content_after(); ?>
+
+ <?php
+ wp_link_pages(
+ array(
+ 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-single-page-links-before', false ) ),
+ 'after' => '</div>',
+ 'link_before' => '<span class="page-link">',
+ 'link_after' => '</span>',
+ )
+ );
+ ?>
+ </div><!-- .entry-content .clear -->
+
+ <footer class="entry-footer">
+ <?php astra_entry_footer(); ?>
+ </footer><!-- .entry-footer -->
+
+ <?php astra_entry_bottom(); ?>
+
+</article><!-- #post-## -->
+
+<?php astra_entry_after(); ?>
diff --git a/template-parts/footer/builder/components.php b/template-parts/footer/builder/components.php
new file mode 100644
index 0000000..87d0778
--- /dev/null
+++ b/template-parts/footer/builder/components.php
@@ -0,0 +1,166 @@
+<?php
+/**
+ * Template part for displaying the footer component.
+ *
+ * @package Astra
+ */
+
+if ( astra_wp_version_compare( '5.4.99', '>=' ) ) {
+
+ $component_slug = wp_parse_args( $args, array( 'type' => '' ) );
+ $component_slug = $component_slug['type'];
+} else {
+
+ $component_slug = get_query_var( 'type' );
+}
+
+switch ( $component_slug ) {
+
+ case 'copyright':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer-copyright" data-section="section-footer-builder">
+ <?php do_action( 'astra_footer_copyright' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'social-icons-1':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-footer-focus-item" data-section="section-fb-social-icons-1">
+ <?php do_action( 'astra_footer_social_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'widget-1':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'footer-widget-area-inner',
+ array(
+ 'class' => 'footer-widget-area widget-area site-footer-focus-item',
+ 'data-section' => 'sidebar-widgets-footer-widget-1',
+ 'aria-label' => 'Footer Widget 1',
+ )
+ );
+ ?>
+ >
+ <?php
+ astra_markup_open( 'footer-widget-div' );
+ astra_get_sidebar( 'footer-widget-1' );
+ astra_markup_close( 'footer-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+
+ case 'widget-2':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'footer-widget-area-inner',
+ array(
+ 'class' => 'footer-widget-area widget-area site-footer-focus-item',
+ 'data-section' => 'sidebar-widgets-footer-widget-2',
+ 'aria-label' => 'Footer Widget 2',
+ )
+ );
+ ?>
+ >
+ <?php
+ astra_markup_open( 'footer-widget-div' );
+ astra_get_sidebar( 'footer-widget-2' );
+ astra_markup_close( 'footer-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+
+ case 'widget-3':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'footer-widget-area-inner',
+ array(
+ 'class' => 'footer-widget-area widget-area site-footer-focus-item',
+ 'data-section' => 'sidebar-widgets-footer-widget-3',
+ 'aria-label' => 'Footer Widget 3',
+ )
+ );
+ ?>
+ >
+ <?php
+ astra_markup_open( 'footer-widget-div' );
+ astra_get_sidebar( 'footer-widget-3' );
+ astra_markup_close( 'footer-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+
+ case 'widget-4':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'footer-widget-area-inner',
+ array(
+ 'class' => 'footer-widget-area widget-area site-footer-focus-item',
+ 'data-section' => 'sidebar-widgets-footer-widget-4',
+ 'aria-label' => 'Footer Widget 4',
+ )
+ );
+ ?>
+ >
+ <?php
+ astra_markup_open( 'footer-widget-div' );
+ astra_get_sidebar( 'footer-widget-4' );
+ astra_markup_close( 'footer-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+
+ case 'html-1':
+ ?>
+ <div class="footer-widget-area widget-area site-footer-focus-item ast-footer-html-1" data-section="section-fb-html-1">
+ <?php do_action( 'astra_footer_html_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'html-2':
+ ?>
+ <div class="footer-widget-area widget-area site-footer-focus-item ast-footer-html-2" data-section="section-fb-html-2">
+ <?php do_action( 'astra_footer_html_2' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'menu':
+ ?>
+ <div class="footer-widget-area widget-area site-footer-focus-item" data-section="section-footer-menu">
+ <?php do_action( 'astra_footer_menu' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'divider-1':
+ $layout_class = astra_get_option( 'footer-divider-1-layout' );
+ ?>
+ <div class="footer-widget-area widget-area ast-flex site-footer-focus-item ast-footer-divider-element ast-footer-divider-1 ast-fb-divider-layout-<?php echo esc_attr( $layout_class ); ?>" data-section="section-fb-divider-1">
+ <?php do_action( 'astra_footer_divider_1' ); ?>
+ </div>
+ <?php
+ break;
+
+
+ default:
+ do_action( 'astra_render_footer_components', $component_slug );
+ break;
+
+}
+?>
diff --git a/template-parts/footer/builder/desktop-builder-layout.php b/template-parts/footer/builder/desktop-builder-layout.php
new file mode 100644
index 0000000..ef93064
--- /dev/null
+++ b/template-parts/footer/builder/desktop-builder-layout.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Template part for displaying the footer info.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package Astra
+ * @since 1.0.0
+ */
+
+?>
+<footer
+<?php
+echo astra_attr(
+ 'footer',
+ array(
+ 'id' => 'colophon',
+ 'class' => join(
+ ' ',
+ astra_get_footer_classes()
+ ),
+ )
+);
+?>
+>
+ <?php
+ astra_footer_content_top();
+ ?>
+ <?php
+ /**
+ * Astra Top footer
+ */
+ do_action( 'astra_above_footer' );
+ /**
+ * Astra Middle footer
+ */
+ do_action( 'astra_primary_footer' );
+ /**
+ * Astra Bottom footer
+ */
+ do_action( 'astra_below_footer' );
+ ?>
+ <?php
+ astra_footer_content_bottom();
+ ?>
+</footer><!-- #colophon -->
diff --git a/template-parts/footer/builder/footer-row.php b/template-parts/footer/builder/footer-row.php
new file mode 100644
index 0000000..de0198b
--- /dev/null
+++ b/template-parts/footer/builder/footer-row.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Template part for displaying the a row of the footer
+ *
+ * @package Astra Builder
+ */
+
+if ( astra_wp_version_compare( '5.4.99', '>=' ) ) {
+
+ $row = wp_parse_args( $args, array( 'row' => '' ) );
+ $row = $row['row'];
+} else {
+
+ $row = get_query_var( 'row' );
+}
+
+if ( Astra_Builder_Helper::is_footer_row_empty( $row ) ) {
+
+ $option = ( 'above' === $row ) ? 'hba' : ( ( 'below' === $row ) ? 'hbb' : 'hb' );
+ $columns = astra_get_option( $option . '-footer-column' );
+ $layout = astra_get_option( $option . '-footer-layout' );
+ $stack_layout = astra_get_option( $option . '-stack' );
+
+ $desk_layout = ( isset( $layout['desktop'] ) ) ? $layout['desktop'] : 'full';
+ $tab_layout = ( isset( $layout['tablet'] ) ) ? $layout['tablet'] : 'full';
+ $mob_layout = ( isset( $layout['mobile'] ) ) ? $layout['mobile'] : 'full';
+
+ $desk_stack_layout = ( isset( $stack_layout['desktop'] ) ) ? $stack_layout['desktop'] : 'stack';
+ $tab_stack_layout = ( isset( $stack_layout['tablet'] ) ) ? $stack_layout['tablet'] : 'stack';
+ $mob_stack_layout = ( isset( $stack_layout['mobile'] ) ) ? $stack_layout['mobile'] : 'stack';
+
+ $classes = array(
+ 'site-' . esc_attr( $row ) . '-footer-wrap',
+ 'ast-builder-grid-row-container',
+ 'site-footer-focus-item',
+ 'ast-builder-grid-row-' . esc_attr( $desk_layout ),
+ 'ast-builder-grid-row-tablet-' . esc_attr( $tab_layout ),
+ 'ast-builder-grid-row-mobile-' . esc_attr( $mob_layout ),
+ 'ast-footer-row-' . esc_attr( $desk_stack_layout ),
+ 'ast-footer-row-tablet-' . esc_attr( $tab_stack_layout ),
+ 'ast-footer-row-mobile-' . esc_attr( $mob_stack_layout ),
+ );
+ ?>
+<div class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>" data-section="section-<?php echo esc_attr( $row ); ?>-footer-builder">
+ <div class="ast-builder-grid-row-container-inner">
+ <?php
+ if ( is_customize_preview() ) {
+ Astra_Builder_UI_Controller::render_grid_row_customizer_edit_button( 'Footer', $row );
+ }
+
+ /**
+ * Astra Render before Site container of Footer.
+ */
+ do_action( "astra_footer_{$row}_container_before" );
+ ?>
+ <div class="ast-builder-footer-grid-columns site-<?php echo esc_attr( $row ); ?>-footer-inner-wrap ast-builder-grid-row">
+ <?php for ( $zones = 1; $zones <= Astra_Builder_Helper::$num_of_footer_columns; $zones++ ) { ?>
+ <?php
+ if ( $zones > $columns ) {
+ break;
+ }
+ ?>
+ <div class="site-footer-<?php echo esc_attr( $row ); ?>-section-<?php echo esc_attr( $zones ); ?> site-footer-section site-footer-section-<?php echo esc_attr( $zones ); ?>">
+ <?php do_action( 'astra_render_footer_column', $row, $zones ); ?>
+ </div>
+ <?php } ?>
+ </div>
+ <?php
+ /**
+ * Astra Render before Site container of Footer.
+ */
+ do_action( "astra_footer_{$row}_container_after" );
+ ?>
+ </div>
+
+</div>
+<?php } ?>
diff --git a/template-parts/footer/footer-sml-layout-2.php b/template-parts/footer/footer-sml-layout-2.php
new file mode 100644
index 0000000..65916e3
--- /dev/null
+++ b/template-parts/footer/footer-sml-layout-2.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Template for Small Footer Layout 2
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+$section_1 = astra_get_small_footer( 'footer-sml-section-1' );
+$section_2 = astra_get_small_footer( 'footer-sml-section-2' );
+$sections = 0;
+
+if ( '' != $section_1 ) {
+ $sections++;
+}
+
+if ( '' != $section_2 ) {
+ $sections++;
+}
+
+switch ( $sections ) {
+
+ case '2':
+ $section_class = 'ast-small-footer-section-equally ' . astra_attr( 'ast-grid-col-6' );
+ break;
+
+ case '1':
+ default:
+ $section_class = 'ast-small-footer-section-equally ' . astra_attr( 'ast-grid-common-col' );
+ break;
+}
+
+?>
+
+<div class="ast-small-footer footer-sml-layout-2">
+ <div class="ast-footer-overlay">
+ <div class="ast-container">
+ <div class="ast-small-footer-wrap" >
+ <div class="ast-row ast-flex">
+
+ <?php if ( $section_1 ) : ?>
+ <div class="ast-small-footer-section ast-small-footer-section-1 <?php echo esc_attr( $section_class ); ?>" >
+ <?php
+ echo $section_1; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ( $section_2 ) : ?>
+ <div class="ast-small-footer-section ast-small-footer-section-2 <?php echo esc_attr( $section_class ); ?>" >
+ <?php
+ echo $section_2; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ ?>
+ </div>
+ <?php endif; ?>
+
+ </div> <!-- .ast-row.ast-flex -->
+ </div><!-- .ast-small-footer-wrap -->
+ </div><!-- .ast-container -->
+ </div><!-- .ast-footer-overlay -->
+</div><!-- .ast-small-footer-->
diff --git a/template-parts/footer/footer-sml-layout.php b/template-parts/footer/footer-sml-layout.php
new file mode 100644
index 0000000..0fb6592
--- /dev/null
+++ b/template-parts/footer/footer-sml-layout.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Template for Small Footer Layout 1
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+$section_1 = astra_get_small_footer( 'footer-sml-section-1' );
+$section_2 = astra_get_small_footer( 'footer-sml-section-2' );
+
+?>
+
+<div class="ast-small-footer footer-sml-layout-1">
+ <div class="ast-footer-overlay">
+ <div class="ast-container">
+ <div class="ast-small-footer-wrap" >
+ <?php if ( $section_1 ) : ?>
+ <div class="ast-small-footer-section ast-small-footer-section-1" >
+ <?php
+ echo $section_1; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ ?>
+ </div>
+ <?php endif; ?>
+
+ <?php if ( $section_2 ) : ?>
+ <div class="ast-small-footer-section ast-small-footer-section-2" >
+ <?php
+ echo $section_2; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ ?>
+ </div>
+ <?php endif; ?>
+
+ </div><!-- .ast-row .ast-small-footer-wrap -->
+ </div><!-- .ast-container -->
+ </div><!-- .ast-footer-overlay -->
+</div><!-- .ast-small-footer-->
diff --git a/template-parts/footer/index.php b/template-parts/footer/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/footer/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/header/builder/components.php b/template-parts/header/builder/components.php
new file mode 100644
index 0000000..8354b5b
--- /dev/null
+++ b/template-parts/header/builder/components.php
@@ -0,0 +1,195 @@
+<?php
+/**
+ * Template part for header component.
+ *
+ * @package Astra
+ */
+
+if ( astra_wp_version_compare( '5.4.99', '>=' ) ) {
+ $component_args = wp_parse_args(
+ $args,
+ array(
+ 'type' => '',
+ 'device' => '',
+ )
+ );
+ $component_slug = $component_args['type'];
+} else {
+ $component_slug = get_query_var( 'type' );
+}
+
+$device = $component_args['device'];
+
+switch ( $component_slug ) {
+
+ case 'logo':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item" data-section="title_tagline">
+ <?php do_action( 'astra_site_identity' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'button-1':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item ast-header-button-1" data-section="section-hb-button-1">
+ <?php do_action( 'astra_header_button_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'menu-1':
+ ?>
+ <div class="ast-builder-menu-1 ast-builder-menu ast-flex ast-builder-menu-1-focus-item ast-builder-layout-element site-header-focus-item" data-section="section-hb-menu-1">
+ <?php do_action( 'astra_header_menu_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'menu-2':
+ ?>
+ <div class="ast-builder-menu-2 ast-builder-menu ast-flex ast-builder-menu-2-focus-item ast-builder-layout-element site-header-focus-item" data-section="section-hb-menu-2">
+ <?php do_action( 'astra_header_menu_2' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'mobile-menu':
+ ?>
+ <div class="ast-builder-menu-mobile ast-builder-menu ast-builder-menu-mobile-focus-item ast-builder-layout-element site-header-focus-item" data-section="section-header-mobile-menu">
+ <?php do_action( 'astra_header_menu_mobile' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'html-1':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item ast-header-html-1" data-section="section-hb-html-1">
+ <?php do_action( 'astra_header_html_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'html-2':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item ast-header-html-2" data-section="section-hb-html-2">
+ <?php do_action( 'astra_header_html_2' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'search':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item ast-header-search" data-section="section-header-search">
+ <?php do_action( 'astra_header_search', $args['device'] ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'social-icons-1':
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item" data-section="section-hb-social-icons-1">
+ <?php do_action( 'astra_header_social_1' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'mobile-trigger':
+ if ( 'desktop' === $device && ! defined( 'ASTRA_EXT_VER' ) ) {
+ break;
+ }
+ ?>
+ <div class="ast-builder-layout-element ast-flex site-header-focus-item" data-section="section-header-mobile-trigger">
+ <?php do_action( 'astra_header_mobile_trigger' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'account':
+ ?>
+ <div class="ast-builder-layout-element site-header-focus-item ast-header-account" data-section="section-header-account">
+ <?php do_action( 'astra_header_account' ); ?>
+ </div>
+ <?php
+ break;
+
+ case 'woo-cart':
+ if ( class_exists( 'Astra_Woocommerce' ) ) {
+ ?>
+ <div class="ast-builder-layout-element site-header-focus-item ast-header-woo-cart" data-section="section-header-woo-cart">
+ <?php do_action( 'astra_header_woo_cart' ); ?>
+ </div>
+ <?php
+ }
+ break;
+
+ case 'edd-cart':
+ if ( class_exists( 'Easy_Digital_Downloads' ) ) {
+ ?>
+ <div class="ast-builder-layout-element site-header-focus-item ast-header-edd-cart" data-section="section-header-edd-cart">
+ <?php do_action( 'astra_header_edd_cart' ); ?>
+ </div>
+ <?php
+ }
+ break;
+ case 'widget-1':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'header-widget-area-inner',
+ array(
+ 'class' => 'header-widget-area widget-area site-header-focus-item',
+ 'data-section' => 'sidebar-widgets-header-widget-1',
+ 'aria-label' => 'Header Widget 1',
+ )
+ );
+ ?>
+ >
+ <?php
+ if ( is_customize_preview() && class_exists( 'Astra_Builder_UI_Controller' ) ) {
+ Astra_Builder_UI_Controller::render_customizer_edit_button();
+ }
+ ?>
+ <?php
+ astra_markup_open( 'header-widget-div' );
+ astra_get_sidebar( 'header-widget-1' );
+ astra_markup_close( 'header-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+ case 'widget-2':
+ ?>
+ <aside
+ <?php
+ echo astra_attr(
+ 'header-widget-area-inner',
+ array(
+ 'class' => 'header-widget-area widget-area site-header-focus-item',
+ 'data-section' => 'sidebar-widgets-header-widget-2',
+ 'aria-label' => 'Header Widget 2',
+ )
+ );
+ ?>
+ >
+ <?php
+ if ( is_customize_preview() && class_exists( 'Astra_Builder_UI_Controller' ) ) {
+ Astra_Builder_UI_Controller::render_customizer_edit_button();
+ }
+ ?>
+ <?php
+ astra_markup_open( 'header-widget-div' );
+ astra_get_sidebar( 'header-widget-2' );
+ astra_markup_close( 'header-widget-div' );
+ ?>
+ </aside>
+ <?php
+ break;
+
+ default:
+ do_action( 'astra_render_header_components', $component_slug );
+ break;
+
+}
+?>
diff --git a/template-parts/header/builder/desktop-builder-layout.php b/template-parts/header/builder/desktop-builder-layout.php
new file mode 100644
index 0000000..f16bc97
--- /dev/null
+++ b/template-parts/header/builder/desktop-builder-layout.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Template part for displaying header row.
+ *
+ * @package Astra Builder
+ */
+
+$mobile_header_type = astra_get_option( 'mobile-header-type' );
+
+if ( 'full-width' === $mobile_header_type ) {
+
+ $mobile_header_type = 'off-canvas';
+}
+?>
+<div id="ast-desktop-header" data-toggle-type="<?php echo esc_attr( $mobile_header_type ); ?>">
+ <?php
+ astra_main_header_bar_top();
+
+ /**
+ * Astra Top Header
+ */
+ do_action( 'astra_above_header' );
+
+ /**
+ * Astra Main Header
+ */
+ do_action( 'astra_primary_header' );
+
+ /**
+ * Astra Bottom Header
+ */
+ do_action( 'astra_below_header' );
+
+ astra_main_header_bar_bottom();
+ ?>
+<?php
+if ( 'dropdown' === $mobile_header_type || is_customize_preview() ) {
+ $content_alignment = astra_get_option( 'header-offcanvas-content-alignment', 'flex-start' );
+ $alignment_class = 'content-align-' . $content_alignment . ' ';
+ ?>
+ <div class="ast-desktop-header-content <?php echo esc_attr( $alignment_class ); ?>">
+ <?php do_action( 'astra_desktop_header_content', 'popup', 'content' ); ?>
+ </div>
+<?php } ?>
+</div> <!-- Main Header Bar Wrap -->
+<?php
+/**
+ * Astra Mobile Header
+ */
+do_action( 'astra_mobile_header' );
+?>
diff --git a/template-parts/header/builder/header-row.php b/template-parts/header/builder/header-row.php
new file mode 100644
index 0000000..127794e
--- /dev/null
+++ b/template-parts/header/builder/header-row.php
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Template part for displaying the a row of the header
+ *
+ * @package Astra Builder
+ */
+
+if ( astra_wp_version_compare( '5.4.99', '>=' ) ) {
+ $row = wp_parse_args( $args, array( 'row' => '' ) );
+ $row = $row['row'];
+} else {
+ $row = get_query_var( 'row' );
+}
+
+if ( Astra_Builder_Helper::is_row_empty( $row, 'header', 'desktop' ) ) {
+
+ $customizer_editor_row = 'section-' . esc_attr( $row ) . '-header-builder';
+ $is_transparent_header_enable = astra_get_option( 'transparent-header-enable' );
+
+ $row_label = ( 'primary' === $row ) ? 'main' : $row;
+
+ ?>
+ <div class="ast-<?php echo esc_attr( $row_label ); ?>-header-wrap <?php echo 'primary' === $row ? 'main-header-bar-wrap' : ''; ?> ">
+ <div class="<?php echo esc_attr( 'ast-' . $row . '-header-bar ast-' . $row . '-header' ); ?> <?php echo 'primary' === $row ? 'main-header-bar' : ''; ?> site-header-focus-item" data-section="<?php echo esc_attr( $customizer_editor_row ); ?>">
+ <?php
+ if ( is_customize_preview() ) {
+ Astra_Builder_UI_Controller::render_grid_row_customizer_edit_button( 'Header', $row );
+ }
+ /**
+ * Astra Render before Site Content.
+ */
+ do_action( "astra_header_{$row}_container_before" );
+ ?>
+ <div class="site-<?php echo esc_attr( $row ); ?>-header-wrap ast-builder-grid-row-container site-header-focus-item ast-container" data-section="<?php echo esc_attr( $customizer_editor_row ); ?>">
+ <div class="ast-builder-grid-row <?php echo Astra_Builder_Helper::has_side_columns( $row ) ? 'ast-builder-grid-row-has-sides' : 'ast-grid-center-col-layout-only ast-flex'; ?> <?php echo Astra_Builder_Helper::has_center_column( $row ) ? 'ast-grid-center-col-layout' : 'ast-builder-grid-row-no-center'; ?>">
+ <?php if ( Astra_Builder_Helper::has_side_columns( $row ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-left site-header-section ast-flex site-header-section-left">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_header_column', $row, 'left' );
+ if ( Astra_Builder_Helper::has_center_column( $row ) ) {
+ ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-left-center site-header-section ast-flex ast-grid-left-center-section">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_header_column', $row, 'left_center' );
+ ?>
+ </div>
+ <?php
+ }
+ ?>
+ </div>
+ <?php } ?>
+ <?php if ( Astra_Builder_Helper::has_center_column( $row ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-center site-header-section ast-flex ast-grid-section-center">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_header_column', $row, 'center' );
+ ?>
+ </div>
+ <?php } ?>
+ <?php if ( Astra_Builder_Helper::has_side_columns( $row ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-right site-header-section ast-flex ast-grid-right-section">
+ <?php
+ if ( Astra_Builder_Helper::has_center_column( $row ) ) {
+ ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-right-center site-header-section ast-flex ast-grid-right-center-section">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_header_column', $row, 'right_center' );
+ ?>
+ </div>
+ <?php
+ }
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_header_column', $row, 'right' );
+ ?>
+ </div>
+ <?php } ?>
+ </div>
+ </div>
+ <?php
+ /**
+ * Astra Render after Site Content.
+ */
+ do_action( "astra_header_{$row}_container_after" );
+ ?>
+ </div>
+ </div>
+ <?php
+}
diff --git a/template-parts/header/builder/mobile-builder-layout.php b/template-parts/header/builder/mobile-builder-layout.php
new file mode 100644
index 0000000..aa71e68
--- /dev/null
+++ b/template-parts/header/builder/mobile-builder-layout.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Template part for displaying the Mobile Header
+ *
+ * @package Astra Builder
+ */
+
+$mobile_header_type = astra_get_option( 'mobile-header-type' );
+
+if ( 'full-width' === $mobile_header_type ) {
+
+ $mobile_header_type = 'off-canvas';
+}
+
+?>
+<div id="ast-mobile-header" class="ast-mobile-header-wrap " data-type="<?php echo esc_attr( $mobile_header_type ); ?>">
+ <?php
+ do_action( 'astra_mobile_header_bar_top' );
+
+ /**
+ * Astra Top Header
+ */
+ do_action( 'astra_mobile_above_header' );
+
+ /**
+ * Astra Main Header
+ */
+ do_action( 'astra_mobile_primary_header' );
+
+ /**
+ * Astra Mobile Bottom Header
+ */
+ do_action( 'astra_mobile_below_header' );
+
+ astra_main_header_bar_bottom();
+ ?>
+<?php
+if ( 'dropdown' === astra_get_option( 'mobile-header-type' ) || is_customize_preview() ) {
+ $content_alignment = astra_get_option( 'header-offcanvas-content-alignment', 'flex-start' );
+ $alignment_class = 'content-align-' . $content_alignment . ' ';
+ ?>
+ <div class="ast-mobile-header-content <?php echo esc_attr( $alignment_class ); ?>">
+ <?php do_action( 'astra_mobile_header_content', 'popup', 'content' ); ?>
+ </div>
+<?php } ?>
+</div>
diff --git a/template-parts/header/builder/mobile-header-row.php b/template-parts/header/builder/mobile-header-row.php
new file mode 100644
index 0000000..f7e90cd
--- /dev/null
+++ b/template-parts/header/builder/mobile-header-row.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * Template part for displaying a row of the mobile header
+ *
+ * @package Astra Builder
+ */
+
+if ( astra_wp_version_compare( '5.4.99', '>=' ) ) {
+
+ $row = wp_parse_args( $args, array( 'row' => '' ) );
+ $row = $row['row'];
+} else {
+
+ $row = get_query_var( 'row' );
+}
+
+if ( Astra_Builder_Helper::is_row_empty( $row, 'header', 'mobile' ) ) {
+
+ $customizer_editor_row = 'section-' . esc_attr( $row ) . '-header-builder';
+ $is_transparent_header_enable = astra_get_option( 'transparent-header-enable' );
+
+ if ( 'primary' === $row && $is_transparent_header_enable ) {
+ $customizer_editor_row = 'section-transparent-header';
+ }
+
+ $row_label = ( 'primary' === $row ) ? 'main' : $row;
+ ?>
+ <div class="ast-<?php echo esc_attr( $row_label ); ?>-header-wrap <?php echo 'primary' === $row ? 'main-header-bar-wrap' : ''; ?>" >
+ <div class="<?php echo esc_attr( 'ast-' . $row . '-header-bar ast-' . $row . '-header ' ); ?><?php echo 'primary' === $row ? 'main-header-bar ' : ''; ?>site-<?php echo esc_attr( $row ); ?>-header-wrap site-header-focus-item ast-builder-grid-row-layout-default ast-builder-grid-row-tablet-layout-default ast-builder-grid-row-mobile-layout-default" data-section="<?php echo esc_attr( $customizer_editor_row ); ?>">
+ <?php
+ if ( is_customize_preview() ) {
+ Astra_Builder_UI_Controller::render_grid_row_customizer_edit_button( 'Header', $row );
+ }
+ /**
+ * Astra Render before Site Content.
+ */
+ do_action( "astra_header_{$row}_container_before" );
+ ?>
+ <div class="ast-builder-grid-row <?php echo Astra_Builder_Helper::has_mobile_side_columns( $row, 'header', 'mobile' ) ? 'ast-builder-grid-row-has-sides' : 'ast-grid-center-col-layout-only ast-flex'; ?> <?php echo Astra_Builder_Helper::has_mobile_center_column( $row, 'header', 'mobile' ) ? 'ast-grid-center-col-layout' : 'ast-builder-grid-row-no-center'; ?>">
+ <?php if ( Astra_Builder_Helper::has_mobile_side_columns( $row, 'header', 'mobile' ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-left site-header-section ast-flex site-header-section-left">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_mobile_header_column', $row, 'left' );
+
+ if ( Astra_Builder_Helper::has_mobile_center_column( $row, 'header', 'mobile' ) ) {
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_mobile_header_column', $row, 'left_center' );
+ }
+ ?>
+ </div>
+ <?php } ?>
+ <?php if ( Astra_Builder_Helper::has_mobile_center_column( $row, 'header', 'mobile' ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-center site-header-section ast-flex ast-grid-section-center">
+ <?php
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_mobile_header_column', $row, 'center' );
+ ?>
+ </div>
+ <?php } ?>
+ <?php if ( Astra_Builder_Helper::has_mobile_side_columns( $row, 'header', 'mobile' ) ) { ?>
+ <div class="site-header-<?php echo esc_attr( $row ); ?>-section-right site-header-section ast-flex ast-grid-right-section">
+ <?php
+ if ( Astra_Builder_Helper::has_mobile_center_column( $row, 'header', 'mobile' ) ) {
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_mobile_header_column', $row, 'right_center' );
+ }
+ /**
+ * Astra Render Header Column
+ */
+ do_action( 'astra_render_mobile_header_column', $row, 'right' );
+ ?>
+ </div>
+ <?php } ?>
+ </div>
+ <?php
+ /**
+ * Astra Render after Site Content.
+ */
+ do_action( "astra_header_{$row}_container_after" );
+ ?>
+ </div>
+ </div>
+ <?php
+}
diff --git a/template-parts/header/header-main-layout.php b/template-parts/header/header-main-layout.php
new file mode 100644
index 0000000..e40b7c4
--- /dev/null
+++ b/template-parts/header/header-main-layout.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Template for Primary Header
+ *
+ * The header layout 2 for Astra Theme. ( No of sections - 1 [ Section 1 limit - 3 )
+ * This is the template that displays all of the <head> section and everything up until <div id="content">
+ *
+ * @see https://developer.wordpress.org/themes/basics/template-files/#template-partials
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+?>
+
+<div class="main-header-bar-wrap">
+ <div <?php echo astra_attr( 'main-header-bar' ); ?>>
+ <?php astra_main_header_bar_top(); ?>
+ <div class="ast-container">
+
+ <div class="ast-flex main-header-container">
+ <?php astra_masthead_content(); ?>
+ </div><!-- Main Header Container -->
+ </div><!-- ast-row -->
+ <?php astra_main_header_bar_bottom(); ?>
+ </div> <!-- Main Header Bar -->
+</div> <!-- Main Header Bar Wrap -->
diff --git a/template-parts/header/index.php b/template-parts/header/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/header/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/index.php b/template-parts/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/single/index.php b/template-parts/single/index.php
new file mode 100644
index 0000000..8b96815
--- /dev/null
+++ b/template-parts/single/index.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Index file
+ *
+ * @package Astra
+ * @since Astra 1.0.0
+ */
+
+/* Silence is golden, and we agree. */
diff --git a/template-parts/single/single-layout.php b/template-parts/single/single-layout.php
new file mode 100644
index 0000000..5441117
--- /dev/null
+++ b/template-parts/single/single-layout.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Template for Single post
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+?>
+
+<div <?php astra_blog_layout_class( 'single-layout-1' ); ?>>
+
+ <?php astra_single_header_before(); ?>
+
+ <header class="entry-header <?php astra_entry_header_class(); ?>">
+
+ <?php astra_single_header_top(); ?>
+
+ <?php astra_blog_post_thumbnail_and_title_order(); ?>
+
+ <?php astra_single_header_bottom(); ?>
+
+ </header><!-- .entry-header -->
+
+ <?php astra_single_header_after(); ?>
+
+ <div class="entry-content clear"
+ <?php
+ echo astra_attr(
+ 'article-entry-content-single-layout',
+ array(
+ 'class' => '',
+ )
+ );
+ ?>
+ >
+
+ <?php astra_entry_content_before(); ?>
+
+ <?php the_content(); ?>
+
+ <?php
+ astra_edit_post_link(
+ sprintf(
+ /* translators: %s: Name of current post */
+ esc_html__( 'Edit %s', 'astra' ),
+ the_title( '<span class="screen-reader-text">"', '"</span>', false )
+ ),
+ '<span class="edit-link">',
+ '</span>'
+ );
+ ?>
+
+ <?php astra_entry_content_after(); ?>
+
+ <?php
+ wp_link_pages(
+ array(
+ 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-single-page-links-before', false ) ),
+ 'after' => '</div>',
+ 'link_before' => '<span class="page-link">',
+ 'link_after' => '</span>',
+ )
+ );
+ ?>
+ </div><!-- .entry-content .clear -->
+</div>