This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Astra_Ext_Advanced_Hooks_Markup::prepare_astra_header_filter( int $post_id, bool $layout )

Get the classes for custom layout.


Description


Parameters

$post_id

(int) (Required) post id.

$layout

(bool) (Required) is header | footer | 404-page.


Source

File: addons/advanced-hooks/classes/class-astra-ext-advanced-hooks-markup.php

		private function prepare_astra_header_filter( $post_id, $layout ) {

			$hide_classes = explode( ' ', $this->get_display_device( $post_id, false ) );

			if ( 'footer' === $layout && true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
				add_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ), 1 );
			}

			if ( ! static::get_time_duration_eligibility( $post_id ) ) {
				return;
			}

			if ( 3 === count( $hide_classes ) ) { // If displayed on desktop, tablet & mobile.

				switch ( $layout ) {
					case 'header':
						remove_action( 'astra_header', 'astra_header_markup' );
						break;
					case 'footer':
						remove_action( 'astra_footer', 'astra_footer_markup' );
						if ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
							remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ), 1 );
						}
						break;
					case '404-page':
						remove_action( 'astra_entry_content_404_page', 'astra_entry_content_404_page_template' );
						break;
				}

				return;

			}

			switch ( $layout ) {
				case 'header':
				case 'footer':
					$filter = 'astra_get_' . $layout . '_classes';
					break;
				case '404-page':
					$filter = 'astra_attr_404_page';
					break;
				default:
					$filter = '';
					break;
			}

			if ( $filter ) {
				add_filter(
					$filter,
					function ( $classes ) use ( $hide_classes, $layout ) {
						if ( '404-page' === $layout ) {
							$hide_classes     = implode( ' ', $hide_classes );
							$classes['class'] = isset( $classes['class'] ) ? $classes['class'] . ' ' . $hide_classes : $hide_classes;
							return $classes;
						}
						return array_merge( $classes, $hide_classes );
					}
				);
			}

		}


User Contributed Notes

You must log in before being able to contribute a note or feedback.