__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * Astra Loop
 *
 * @package Astra
 * @since 1.2.7
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

if ( ! class_exists( 'Astra_Loop' ) ) {

	/**
	 * Astra_Loop
	 *
	 * @since 1.2.7
	 */
	class Astra_Loop {
		/**
		 * Instance
		 *
		 * @since 1.2.7
		 *
		 * @var object Class object.
		 */
		private static $instance;

		/**
		 * Initiator
		 *
		 * @since 1.2.7
		 *
		 * @return object initialized object of class.
		 */
		public static function get_instance() {
			if ( ! isset( self::$instance ) ) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Constructor
		 *
		 * @since 1.2.7
		 */
		public function __construct() {
			// Loop.
			add_action( 'astra_content_loop', array( $this, 'loop_markup' ) );
			add_action( 'astra_content_page_loop', array( $this, 'loop_markup_page' ) );

			// Template Parts.
			add_action( 'astra_page_template_parts_content', array( $this, 'template_parts_page' ) );
			add_action( 'astra_page_template_parts_content', array( $this, 'template_parts_comments' ), 15 );
			add_action( 'astra_template_parts_content', array( $this, 'template_parts_post' ) );
			add_action( 'astra_template_parts_content', array( $this, 'template_parts_search' ) );
			add_action( 'astra_template_parts_content', array( $this, 'template_parts_default' ) );
			add_action( 'astra_template_parts_content', array( $this, 'template_parts_comments' ), 15 );

			// Template None.
			add_action( 'astra_template_parts_content_none', array( $this, 'template_parts_none' ) );
			add_action( 'astra_template_parts_content_none', array( $this, 'template_parts_404' ) );
			add_action( 'astra_404_content_template', array( $this, 'template_parts_404' ) );

			// Content top and bottom.
			add_action( 'astra_template_parts_content_top', array( $this, 'template_parts_content_top' ) );
			add_action( 'astra_template_parts_content_bottom', array( $this, 'template_parts_content_bottom' ) );

			// Add closing and ending div 'ast-row'.
			add_action( 'astra_template_parts_content_top', array( $this, 'astra_templat_part_wrap_open' ), 25 );
			add_action( 'astra_template_parts_content_bottom', array( $this, 'astra_templat_part_wrap_close' ), 5 );

			add_action( 'wp', array( $this, 'comment_layout_adjustments' ) );
		}

		/**
		 * Template part none
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_none() {
			if ( is_archive() || is_search() ) {
				get_template_part( 'template-parts/content', 'none' );
			}
		}

		/**
		 * Template part 404
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_404() {
			if ( is_404() ) {
				get_template_part( 'template-parts/content', '404' );
			}
		}

		/**
		 * Template part page
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_page() {
			get_template_part( 'template-parts/content', 'page' );
		}

		/**
		 * Template part single
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_post() {
			if ( is_single() ) {
				get_template_part( 'template-parts/content', 'single' );
			}
		}

		/**
		 * Template part search
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_search() {
			if ( is_search() ) {
				get_template_part( 'template-parts/content', 'blog' );
			}
		}

		/**
		 * Template part comments
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_comments() {
			if ( is_single() || is_page() ) {
				// If comments are open or we have at least one comment, load up the comment template.
				if ( comments_open() || get_comments_number() ) {
					comments_template();
				}
			}
		}

		/**
		 * Template part default
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_default() {
			if ( ! is_page() && ! is_single() && ! is_search() && ! is_404() ) {
				/*
				 * Include the Post-Format-specific template for the content.
				 * If you want to override this in a child theme, then include a file
				 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
				 */
				get_template_part( 'template-parts/content', astra_get_post_format() );
			}
		}

		/**
		 * Loop Markup for content page
		 *
		 * @since 1.3.1
		 */
		public function loop_markup_page() {
			$this->loop_markup( true );
		}

		/**
		 * Template part loop
		 *
		 * @param  bool $is_page Loop outputs different content action for content page and default content.
		 *         if is_page is set to true - do_action( 'astra_page_template_parts_content' ); is added
		 *         if is_page is false - do_action( 'astra_template_parts_content' ); is added.
		 * @since 1.2.7
		 * @return void
		 */
		public function loop_markup( $is_page = false ) {
			?>
			<main id="main" class="site-main">
				<?php
				if ( have_posts() ) {
					do_action( 'astra_template_parts_content_top' );

					while ( have_posts() ) {
						the_post();

						if ( true === $is_page ) {
							do_action( 'astra_page_template_parts_content' );
						} else {
							do_action( 'astra_template_parts_content' );
						}
					}
					do_action( 'astra_template_parts_content_bottom' );
				} else {
					do_action( 'astra_template_parts_content_none' );
				}
				?>
			</main><!-- #main -->
			<?php
		}

		/**
		 * Template part content top
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_content_top() {
			if ( is_archive() ) {
				astra_content_while_before();
			}
		}

		/**
		 * Template part content bottom
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function template_parts_content_bottom() {
			if ( is_archive() ) {
				astra_content_while_after();
			}
		}

		/**
		 * Add wrapper div 'ast-row' for Astra template part.
		 *
		 * @since  1.2.7
		 * @return void
		 */
		public function astra_templat_part_wrap_open() {
			if ( is_archive() || is_search() || is_home() ) {
				echo '<div class="ast-row">';
			}
		}

		/**
		 * Add closing wrapper div for 'ast-row' after Astra template part.
		 *
		 * @since  1.2.7
		 * @return void
		 */
		public function astra_templat_part_wrap_close() {
			if ( is_archive() || is_search() || is_home() ) {
				echo '</div>';
			}
		}

		/**
		 * Comment layout adjustments
		 *
		 * @since 1.2.7
		 * @return void
		 */
		public function comment_layout_adjustments() {
			// Bail early if it is the WooCommerce product page, as on the WooCommerce product page reviews are shown in tabs.
			if ( class_exists( 'WooCommerce' ) && 'product' === get_post_type() ) {
				return;
			}
			$comments_section_placement = astra_get_option( 'comments-box-placement', '' );
			if ( '' !== $comments_section_placement ) {
				remove_action( 'astra_page_template_parts_content', array( $this, 'template_parts_comments' ), 15 );
				remove_action( 'astra_template_parts_content', array( $this, 'template_parts_comments' ), 15 );

				if ( 'outside' === $comments_section_placement ) {
					// Pop out of the content.
					add_action( 'astra_content_after', array( $this, 'template_parts_comments' ), 15 );
				} else {
					// Insert it in the content.
					add_action( 'astra_entry_bottom', array( $this, 'template_parts_comments' ), 12 );
				}
			}
		}
	}

	/**
	 * Initialize class object with 'get_instance()' method
	 */
	Astra_Loop::get_instance();

}

Filemanager

Name Type Size Permission Actions
addons Folder 0750
assets Folder 0750
blog Folder 0750
builder Folder 0750
compatibility Folder 0750
core Folder 0750
customizer Folder 0750
dynamic-css Folder 0750
lib Folder 0750
metabox Folder 0750
modules Folder 0750
schema Folder 0750
theme-update Folder 0750
admin-functions.php File 1.62 KB 0640
class-astra-after-setup-theme.php File 11.02 KB 0640
class-astra-dynamic-css.php File 297.98 KB 0640
class-astra-extended-base-dynamic-css.php File 6.43 KB 0640
class-astra-global-palette.php File 13.89 KB 0640
class-astra-loop.php File 7.2 KB 0640
class-astra-mobile-header.php File 5.81 KB 0640
extras.php File 44.19 KB 0640
google-fonts.php File 189.03 KB 0640
index.php File 111 B 0640
markup-extras.php File 72.12 KB 0640
template-parts.php File 9.52 KB 0640
template-tags.php File 1.11 KB 0640
w-org-version.php File 647 B 0640
widgets.php File 4.32 KB 0640
Filemanager