Astra_Ext_Advanced_Headers_Meta::markup_meta_box( object $post )

Metabox Markup


Description


Parameters

$post

(object) (Required) Post object.


Return

(void)


Source

File: addons/advanced-headers/classes/class-astra-ext-advanced-headers-meta.php

		public function markup_meta_box( $post ) {

			wp_nonce_field( basename( __FILE__ ), 'astra-advanced-headers' );
			$stored = get_post_meta( $post->ID );

			$advanced_headers_meta = array(
				'ast-advanced-headers-layout',
				'ast-advanced-headers-design',
				'ast-advanced-headers-location',
				'ast-advanced-headers-exclusion',
				'ast-advanced-headers-users',
			);

			// Set stored and override defaults.
			foreach ( $stored as $key => $value ) {
				if ( in_array( $key, $advanced_headers_meta ) ) {
					self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? maybe_unserialize( $stored[ $key ][0] ) : '';
				} else {
					self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? $stored[ $key ][0] : '';
				}
			}

			// Get defaults.
			$meta = self::get_meta_option();

			$default_above_header = $this->get_default_header_sections( 'above-header-layout' );
			$default_below_header = $this->get_default_header_sections( 'below-header-layout' );

			/**
			 * Get options
			 */
			$ast_advanced_headers_layout = ( isset( $meta['ast-advanced-headers-layout']['default'] ) ) ? $meta['ast-advanced-headers-layout']['default'] : array(
				'layout'                     => 'advanced-headers-layout-2',
				'breadcrumb'                 => '',
				'force-transparent-disabled' => 'yes',
				'above-header-enabled'       => $default_above_header,
				'below-header-enabled'       => $default_below_header,
			);
			$ast_advanced_headers_design = ( isset( $meta['ast-advanced-headers-design']['default'] ) ) ? $meta['ast-advanced-headers-design']['default'] : array(
				'title-color'                   => '#ffffff',
				'b-text-color'                  => '',
				'b-link-color'                  => '',
				'b-link-hover-color'            => '',
				'background-color'              => 'rgba(44,62,80,0.50)',
				'bg-image-id'                   => '',
				'bg-image'                      => '',
				'page-post-featured'            => 'enabled',
				'logo-id'                       => '',
				'logo-url'                      => '',
				'retina-logo-id'                => '',
				'retina-logo-url'               => '',
				'header-logo-width'             => '',
				'header-bg-color'               => '',
				'site-title-color'              => '',
				'site-title-h-color'            => '',
				'site-tagline-color'            => '',
				'primary-menu-bg-color'         => '',
				'primary-menu-color'            => '',
				'primary-menu-h-color'          => '',
				'primary-menu-a-color'          => '',
				'primary-submenu-bg-color'      => '',
				'primary-submenu-color'         => '',
				'primary-submenu-h-color'       => '',
				'primary-submenu-a-color'		=> '',

				'above-header-bg-color'         => '',
				'above-header-text-link-color'  => '',
				'above-header-h-color'          => '',
				'above-header-a-color'         => '',
				'above-header-submenu-bg-color' => '',
				'above-header-submenu-link-color' => '',
				'above-header-submenu-h-color' => '',
				'above-header-submenu-a-color' => '',

				'below-header-bg-color'         => '',
				'below-header-text-link-color'  => '',
				'below-header-h-color'          => '',
				'below-header-a-color'         => '',
				'below-header-submenu-bg-color'=> '',
				'below-header-submenu-link-color' => '',
				'below-header-submenu-h-color' => '',
				'below-header-submenu-a-color' => '',

				'header-main-sep'               => '',
				'header-main-sep-color'         => '',
				'bg-size'                       => 'custom-bg-size',
				'bg-custom-size-top-padding'    => '5',
				'bg-custom-size-bottom-padding' => '5',
				'parallax-device'               => 'none',
				'overlay-bg-color'              => '',
				'custom-menu'                   => '',
				'custom-menu-item'              => 'default',
				'custom-menu-item-outside'      => '',
				'custom-menu-item-text-html'    => '',
				'search-style'                  => 'default',
			);

			$display_locations = ( isset( $meta['ast-advanced-headers-location']['default'] ) ) ? $meta['ast-advanced-headers-location']['default'] : '';
			$exclude_locations = ( isset( $meta['ast-advanced-headers-exclusion']['default'] ) ) ? $meta['ast-advanced-headers-exclusion']['default'] : '';
			$user_roles        = ( isset( $meta['ast-advanced-headers-users']['default'] ) ) ? $meta['ast-advanced-headers-users']['default'] : '';

			// settings added after published/updated the meta.
			$unsaved_array           = array();
			$independent_addon_array = array(
				'site-title-color'             => '',
				'site-title-h-color'           => '',
				'site-tagline-color'           => '',

				'above-header-bg-color'        => '',
				'above-header-text-link-color' => '',
				'above-header-h-color'         => '',
				'above-header-a-color'         => '',
				'above-header-submenu-bg-color' => '',
				'above-header-submenu-link-color' => '',
				'above-header-submenu-h-color' => '',
				'above-header-submenu-a-color' => '',

				'below-header-bg-color'        => '',
				'below-header-text-link-color' => '',
				'below-header-h-color'         => '',
				'below-header-a-color'         => '',
				'below-header-submenu-bg-color'=> '',
				'below-header-submenu-link-color' => '',
				'below-header-submenu-h-color' => '',
				'below-header-submenu-a-color' => '',

				'custom-menu-item'             => '',
			);

			foreach ( $independent_addon_array as $key => $value ) {
				// key not exist then set a key to existing unsaved array.
				if ( ! isset( $ast_advanced_headers_design[ $key ] ) ) {
					$unsaved_array[ $key ] = $value;
				}
			}
			// Merge array if new key added after updated/published.
			$ast_advanced_headers_design = array_merge( $ast_advanced_headers_design, $unsaved_array );

			$ast_advanced_headers = array(
				'layouts'           => $ast_advanced_headers_layout,
				'designs'           => $ast_advanced_headers_design,
				'include_locations' => $display_locations,
				'exclude_locations' => $exclude_locations,
				'user_roles'        => $user_roles,
			);
			do_action( 'astra_advanced_headers_settings_markup_before', $meta );

			?>

			<!-- Advanced Headers Tabs -->
			<div id="ast-advanced-headers-tabs">
				<div class="nav-tab-wrapper">
					<ul>
						<?php
						$actions      = array(
							'page-header'   => array(
								'label' => __( 'Page Header', 'astra-addon' ),
								'show'  => ! is_network_admin(),
							),
							'site-header'   => array(
								'label' => __( 'Site Header', 'astra-addon' ),
								'show'  => ! is_network_admin(),
							),
							'display-rules' => array(
								'label' => __( 'Display Rules', 'astra-addon' ),
								'show'  => ! is_network_admin(),
							),
						);
						$view_actions = apply_filters( 'astra_adv_headers_tab_options', $actions );

						$count = 0;
						foreach ( $view_actions as $slug => $data ) {

							if ( ! $data['show'] ) {
								continue;
							}

							$class       = '';
							$current_tab = isset( $_GET['current-tab'] ) ? esc_attr( $_GET['current-tab'] ) : '';

							if ( '' != $current_tab && 'ast-adv-headers-tab-' . esc_attr( $slug ) == $current_tab ) {
								$class = 'nav-tab-active';
							} elseif ( '' == $current_tab && esc_attr( $slug ) == 'page-header' ) {
								$class = 'nav-tab-active';
							}

							?>
							<li><a class='nav-tab <?php echo esc_attr( $class ); ?>'
								href='#ast-adv-headers-<?php echo esc_attr( $slug ); ?>'
								id='ast-adv-headers-tab-<?php echo esc_attr( $slug ); ?>'> <?php echo esc_html( $data['label'] ); ?> </a>
							</li>
							<?php
							$count ++;
						}
						?>
					</ul>
				</div><!-- .nav-tab-wrapper -->

				<?php
				$count = 0;
				foreach ( $view_actions as $slug => $data ) {

					if ( ! $data['show'] ) {
						continue;
					}
					$class = '';

					if ( '' != $current_tab && 'ast-adv-headers-tab-' . esc_attr( $slug ) == $current_tab ) {
						$class = 'tab-active';
					} elseif ( '' == $current_tab && esc_attr( $slug ) == 'page-header' ) {
						$class = 'tab-active';
					}

					?>
					<div id='ast-adv-headers-<?php echo esc_attr( $slug ); ?>' class="ast-adv-headers-tabs-section <?php echo esc_attr( $class ); ?>" >
						<!-- Advanced Headers Tabs -->
						<?php do_action( 'astra_adv_headers_tabs_' . esc_attr( $slug ) . '_action', $ast_advanced_headers ); ?>
					</div>
					<?php
					$count ++;
				}
				?>
			</div> <!-- #ast-advanced-headers-tabs -->


			<?php
			do_action( 'astra_advanced_headers_settings_markup_after', $meta );
		}


User Contributed Notes

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