2178 lines
96 KiB
PHP
2178 lines
96 KiB
PHP
<?php
|
|
/**
|
|
* Astra Advanced Headers Bar Post Meta Box
|
|
*
|
|
* @package Astra Pro
|
|
*/
|
|
|
|
if ( ! class_exists( 'Astra_Ext_Advanced_Headers_Meta' ) ) {
|
|
|
|
/**
|
|
* Meta Boxes setup
|
|
*/
|
|
class Astra_Ext_Advanced_Headers_Meta {
|
|
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
|
|
|
|
/**
|
|
* Instance
|
|
*
|
|
* @var $instance
|
|
*/
|
|
private static $instance;
|
|
|
|
/**
|
|
* Meta Option
|
|
*
|
|
* @var $meta_option
|
|
*/
|
|
private static $meta_option;
|
|
|
|
/**
|
|
* Initiator
|
|
*/
|
|
public static function get_instance() {
|
|
if ( ! isset( self::$instance ) ) {
|
|
self::$instance = new self();
|
|
}
|
|
|
|
return self::$instance;
|
|
}
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct() {
|
|
add_action( 'admin_head', array( $this, 'menu_highlight' ) );
|
|
add_action( 'load-post.php', array( $this, 'init_metabox' ) );
|
|
add_action( 'load-post-new.php', array( $this, 'init_metabox' ) );
|
|
add_action( 'astra_adv_headers_tabs_page-header_action', array( $this, 'page_header_tab' ), 10, 1 );
|
|
|
|
if ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
|
|
add_action( 'astra_adv_headers_tabs_site-header_action', array( $this, 'hfb_site_header_tab' ), 10, 1 );
|
|
} else {
|
|
add_action( 'astra_adv_headers_tabs_site-header_action', array( $this, 'site_header_tab' ), 10, 1 );
|
|
}
|
|
|
|
add_action( 'astra_adv_headers_tabs_display-rules_action', array( $this, 'display_rules_tab' ), 10, 1 );
|
|
add_action( 'astra_advanced_headers_settings_markup_after', array( $this, 'current_tab_holder' ) );
|
|
add_filter( 'redirect_post_location', array( $this, 'retain_currnt_tab' ) );
|
|
}
|
|
|
|
/**
|
|
* Add a hidden field in the Advanced Headers meta box for holding the current tab id.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function current_tab_holder() {
|
|
?>
|
|
<input type="hidden" id="advanced-headers-current-tab" name="advanced-headers-current-tab">
|
|
<?php wp_nonce_field( 'advanced_header_post_update', 'advanced_header_post_update' ); ?>
|
|
<?php
|
|
}
|
|
|
|
/**
|
|
* Add query arg for the current tab.
|
|
* This is only added if we are on the 'astra_adv_header' post type edit screen.
|
|
*
|
|
* @since 1.0.0
|
|
* @param String $location URL where the page is redirected after post is saved.
|
|
*
|
|
* @return String Redirect URL with the added query arg for the current tab.
|
|
*/
|
|
public function retain_currnt_tab( $location ) {
|
|
|
|
// bail early if we are on any different post type.
|
|
if ( 'astra_adv_header' !== get_post_type() || ! is_admin() ) {
|
|
return $location;
|
|
}
|
|
|
|
if ( isset( $_POST['advanced_header_post_update'] ) && wp_verify_nonce( sanitize_text_field( $_POST['advanced_header_post_update'] ), 'advanced_header_post_update' ) ) {
|
|
|
|
$current_tab = isset( $_POST['advanced-headers-current-tab'] ) ? esc_attr( sanitize_text_field( $_POST['advanced-headers-current-tab'] ) ) : '';
|
|
|
|
if ( '' !== $current_tab ) {
|
|
$location = esc_url_raw(
|
|
add_query_arg(
|
|
array(
|
|
'current-tab' => $current_tab,
|
|
),
|
|
$location
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
return $location;
|
|
}
|
|
|
|
/**
|
|
* Keep the Astra menu open when editing the advanced headers.
|
|
* Highlights the wanted admin (sub-) menu items for the CPT.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
public function menu_highlight() {
|
|
global $post_type;
|
|
if ( 'astra_adv_header' == $post_type ) :
|
|
/* Same display rule assign notice */
|
|
$option = array(
|
|
'location' => 'ast-advanced-headers-location',
|
|
'exclusion' => 'ast-advanced-headers-exclusion',
|
|
'users' => 'ast-advanced-headers-users',
|
|
);
|
|
Astra_Target_Rules_Fields::same_display_on_notice( 'astra_adv_header', $option );
|
|
endif;
|
|
}
|
|
|
|
|
|
/**
|
|
* Init Metabox
|
|
*/
|
|
public function init_metabox() {
|
|
add_action( 'add_meta_boxes', array( $this, 'setup_meta_box' ) );
|
|
add_action( 'save_post', array( $this, 'save_meta_box' ) );
|
|
|
|
$default_above_header = $this->get_default_header_sections( 'above-header-layout' );
|
|
$default_below_header = $this->get_default_header_sections( 'below-header-layout' );
|
|
/**
|
|
* Set metabox options
|
|
*
|
|
* @see https://php.net/manual/en/filter.filters.sanitize.php
|
|
*/
|
|
self::$meta_option = apply_filters(
|
|
'astra_advanced_headers_meta_box_options',
|
|
array(
|
|
'ast-advanced-headers-layout' => array(
|
|
'default' => array(
|
|
'layout' => 'advanced-headers-layout-2',
|
|
'breadcrumb' => '',
|
|
'force-transparent-disabled' => 'yes',
|
|
'above-header-enabled' => $default_above_header,
|
|
'below-header-enabled' => $default_below_header,
|
|
),
|
|
'sanitize' => 'FILTER_SANITIZE_STRING',
|
|
),
|
|
'ast-advanced-headers-design' => array(
|
|
'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',
|
|
),
|
|
'sanitize' => 'FILTER_SANITIZE_STRING',
|
|
),
|
|
'ast-advanced-headers-location' => array(
|
|
'default' => array(),
|
|
'sanitize' => 'FILTER_SANITIZE_STRING',
|
|
),
|
|
'ast-advanced-headers-exclusion' => array(
|
|
'default' => array(),
|
|
'sanitize' => 'FILTER_SANITIZE_STRING',
|
|
),
|
|
'ast-advanced-headers-users' => array(
|
|
'default' => array(),
|
|
'sanitize' => 'FILTER_SANITIZE_STRING',
|
|
),
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Setup Metabox
|
|
*/
|
|
public function setup_meta_box() {
|
|
|
|
// Get all posts.
|
|
$post_types = get_post_types();
|
|
|
|
if ( 'astra_adv_header' == get_post_type() ) {
|
|
// Enable for all posts.
|
|
foreach ( $post_types as $type ) {
|
|
|
|
if ( 'attachment' !== $type ) {
|
|
add_meta_box(
|
|
'astra_advanced_headers_settings', // Id.
|
|
__( 'Page Headers Settings', 'astra-addon' ), // Title.
|
|
array( $this, 'markup_meta_box' ), // Callback.
|
|
$type, // Post_type.
|
|
'normal', // Context.
|
|
'default' // Priority.
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get metabox options
|
|
*/
|
|
public static function get_meta_option() {
|
|
return self::$meta_option;
|
|
}
|
|
|
|
/**
|
|
* Get Default Header enabled sections
|
|
*
|
|
* @param string $header_section header section key.
|
|
* @return string $section enabled | ''.
|
|
*/
|
|
public function get_default_header_sections( $header_section ) {
|
|
|
|
$section = '';
|
|
$section_option = astra_get_option( $header_section );
|
|
if ( Astra_Ext_Extension::is_active( 'header-sections' ) && 'disabled' != $section_option ) {
|
|
$section = 'enabled';
|
|
}
|
|
|
|
return $section;
|
|
}
|
|
|
|
/**
|
|
* Metabox Markup
|
|
*
|
|
* @param object $post Post object.
|
|
*
|
|
* @return void
|
|
*/
|
|
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( sanitize_text_field( $_GET['current-tab'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Required for admin tabgroup active 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 );
|
|
}
|
|
|
|
/**
|
|
* Metabox Save
|
|
*
|
|
* @param number $post_id Post ID.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function save_meta_box( $post_id ) {
|
|
|
|
// Checks save status.
|
|
$is_autosave = wp_is_post_autosave( $post_id );
|
|
$is_revision = wp_is_post_revision( $post_id );
|
|
|
|
$is_valid_nonce = ( isset( $_POST['astra-advanced-headers'] ) && wp_verify_nonce( sanitize_text_field( $_POST['astra-advanced-headers'] ), basename( __FILE__ ) ) ) ? true : false;
|
|
|
|
// Exits script depending on save status.
|
|
if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Get meta options
|
|
*/
|
|
$post_meta = self::get_meta_option();
|
|
$advanced_headers_meta = array(
|
|
'ast-advanced-headers-layout',
|
|
'ast-advanced-headers-design',
|
|
);
|
|
|
|
foreach ( $post_meta as $key => $data ) {
|
|
if ( in_array( $key, $advanced_headers_meta ) ) {
|
|
$meta_value = isset( $_POST[ $key ] ) ? array_map( 'sanitize_text_field', wp_unslash( $_POST[ $key ] ) ) : array();
|
|
} elseif ( in_array( $key, array( 'ast-advanced-headers-users' ) ) ) {
|
|
$meta_key = ! empty( $_POST[ $key ] ) ? array_map( 'sanitize_text_field', $_POST[ $key ] ) : array();
|
|
$index = array_search( '', $meta_key );
|
|
if ( false !== $index ) {
|
|
unset( $meta_key[ $index ] );
|
|
}
|
|
$meta_value = array_map( 'esc_attr', $meta_key );
|
|
$meta_value = array_map( 'stripslashes', $meta_key );
|
|
} elseif ( in_array(
|
|
$key,
|
|
array(
|
|
'ast-advanced-headers-location',
|
|
'ast-advanced-headers-exclusion',
|
|
)
|
|
) ) {
|
|
$meta_value = Astra_Target_Rules_Fields::get_format_rule_value( $_POST, $key );
|
|
} else {
|
|
// Sanitize values.
|
|
$sanitize_filter = ( isset( $data['sanitize'] ) ) ? $data['sanitize'] : 'FILTER_SANITIZE_STRING';
|
|
|
|
switch ( $sanitize_filter ) {
|
|
|
|
default:
|
|
case 'FILTER_SANITIZE_STRING':
|
|
$meta_value = ! empty( $_POST[ $key ] ) ? sanitize_text_field( wp_unslash( $_POST[ $key ] ) ) : '';
|
|
break;
|
|
|
|
case 'FILTER_SANITIZE_URL':
|
|
$meta_value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_URL );
|
|
break;
|
|
|
|
case 'FILTER_SANITIZE_NUMBER_INT':
|
|
$meta_value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_NUMBER_INT );
|
|
break;
|
|
|
|
case 'FILTER_DEFAULT':
|
|
$meta_value = apply_filters( 'astra_addon_php_default_filter_input', ! empty( $key ) ? sanitize_text_field( wp_unslash( $key ) ) : '', $key );
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Store values.
|
|
if ( $meta_value ) {
|
|
update_post_meta( $post_id, $key, $meta_value );
|
|
} else {
|
|
delete_post_meta( $post_id, $key );
|
|
}
|
|
}
|
|
|
|
$logo_id = isset( $_POST['ast-advanced-headers-design']['logo-id'] ) ? sanitize_key( $_POST['ast-advanced-headers-design']['logo-id'] ) : '';
|
|
if ( '' != $logo_id ) {
|
|
self::generate_logo_by_width( $logo_id );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Markup for the Page Header Tab.
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @param array $options Post meta.
|
|
*/
|
|
public function page_header_tab( $options ) {
|
|
$layout = $options['layouts'];
|
|
$design = $options['designs'];
|
|
$layout_opt = isset( $layout['layout'] ) ? $layout['layout'] : '';
|
|
?>
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Layout', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content ast-advanced-header-layout-radio-button-wrap">
|
|
<!-- Layout Radio Images -->
|
|
<label
|
|
for="ast-advanced-headers-layout-2" <?php checked( 'advanced-headers-layout-2', $layout_opt ); ?> class="ast-advanced-headers-heading-img-help">
|
|
<input type="radio" name="ast-advanced-headers-layout[layout]"
|
|
id="ast-advanced-headers-layout-2"
|
|
value="advanced-headers-layout-2"<?php checked( 'advanced-headers-layout-2', $layout_opt ); ?> />
|
|
<img
|
|
src="<?php echo esc_url( ASTRA_ADDON_EXT_ADVANCED_HEADERS_URL . 'assets/images/advanced-header-1-77x48.png' ); ?>"
|
|
alt="<?php echo esc_attr__( 'Page Header: Center Aligned', 'astra-addon' ); ?>"
|
|
title="<?php echo esc_attr__( 'Page Header: Center Aligned', 'astra-addon' ); ?>" />
|
|
</label>
|
|
<label
|
|
for="ast-advanced-headers-layout-1" <?php checked( 'advanced-headers-layout-1', $layout_opt ); ?> class="ast-advanced-headers-heading-img-help">
|
|
<input type="radio" name="ast-advanced-headers-layout[layout]"
|
|
id="ast-advanced-headers-layout-1"
|
|
value="advanced-headers-layout-1"<?php checked( 'advanced-headers-layout-1', $layout_opt ); ?> />
|
|
<img
|
|
src="<?php echo esc_url( ASTRA_ADDON_EXT_ADVANCED_HEADERS_URL . 'assets/images/advanced-header-2-77x48.png' ); ?>"
|
|
alt="<?php echo esc_attr__( 'Page Header: Inline', 'astra-addon' ); ?>"
|
|
title="<?php echo esc_attr__( 'Page Header: Inline', 'astra-addon' ); ?>" />
|
|
</label>
|
|
<label
|
|
for="ast-advanced-header-layout-disable" <?php checked( 'disable', $layout_opt ); ?> class="ast-advanced-headers-heading-img-help" >
|
|
<input type="radio" name="ast-advanced-headers-layout[layout]"
|
|
id="ast-advanced-header-layout-disable"
|
|
value="disable"<?php checked( 'disable', $layout_opt ); ?> />
|
|
<img
|
|
src="<?php echo esc_url( ASTRA_ADDON_EXT_ADVANCED_HEADERS_URL . 'assets/images/disabled-77x48.png' ); ?>"
|
|
alt="<?php echo esc_attr__( 'No Page Header', 'astra-addon' ); ?>"
|
|
title="<?php echo esc_attr__( 'No Page Header', 'astra-addon' ); ?>" />
|
|
</label>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-advanced-header-layout-breadcrumb-wrap">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Display Breadcrumb', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-breadcrumb"
|
|
name="ast-advanced-headers-layout[breadcrumb]"
|
|
value="enabled" <?php checked( isset( $layout['breadcrumb'] ) ? $layout['breadcrumb'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- Design -->
|
|
<table class="ast-advanced-headers-table design-wrap widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Title', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[title-color]"
|
|
value="<?php echo esc_attr( $design['title-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row breadcrumb-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Breadcrumb', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row breadcrumb-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[b-text-color]"
|
|
value="<?php echo esc_attr( $design['b-text-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row breadcrumb-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[b-link-color]"
|
|
value="<?php echo esc_attr( $design['b-link-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="ast-advanced-headers-row breadcrumb-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[b-link-hover-color]"
|
|
value="<?php echo esc_attr( $design['b-link-hover-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Size ', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Size', 'astra-addon' ); ?></label>
|
|
<i class="ast-advanced-headers-heading-help dashicons dashicons-editor-help"
|
|
title="<?php echo esc_attr__( 'Custom Size can be given any positive number with or without units as "5" or "5px". Default unit is "%"', 'astra-addon' ); ?>"></i>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<select name="ast-advanced-headers-design[bg-size]" id="ast-advanced-header-design-bg-size"
|
|
style="width:210px;">
|
|
<option
|
|
value="custom-bg-size" <?php selected( $design['bg-size'], 'custom-bg-size' ); ?> > <?php esc_html_e( 'Custom Size', 'astra-addon' ); ?></option>
|
|
<option
|
|
value="full-screen" <?php selected( $design['bg-size'], 'full-screen' ); ?> > <?php esc_html_e( 'Full screen', 'astra-addon' ); ?></option>
|
|
</select>
|
|
<div class="ast-advanced-haeders-design-bg-custom-size-wrap">
|
|
<input type="text" name="ast-advanced-headers-design[bg-custom-size-top-padding]"
|
|
id="ast-advanced-haeders-design-bg-custom-size-top-padding"
|
|
value="<?php echo esc_attr( $design['bg-custom-size-top-padding'] ); ?>"
|
|
placeholder="<?php echo esc_attr( $design['bg-custom-size-top-padding'] ); ?>"
|
|
style="width:110px;"/>
|
|
<label for="ast-advanced-haeders-design-bg-custom-size-top-padding"><?php esc_html_e( 'Top Padding', 'astra-addon' ); ?></label>
|
|
<br><input type="text" name="ast-advanced-headers-design[bg-custom-size-bottom-padding]"
|
|
id="ast-advanced-haeders-design-bg-custom-size-bottom-padding"
|
|
value="<?php echo esc_attr( $design['bg-custom-size-bottom-padding'] ); ?>"
|
|
placeholder="<?php echo esc_attr( $design['bg-custom-size-bottom-padding'] ); ?>"
|
|
style="width:110px;"/>
|
|
<label
|
|
for="ast-advanced-haeders-design-bg-custom-size-bottom-padding"><?php esc_html_e( 'Bottom Padding', 'astra-addon' ); ?></label>
|
|
</div>
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Background ', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true" data-rgba="true"
|
|
name="ast-advanced-headers-design[background-color]"
|
|
value="<?php echo esc_attr( $design['background-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Image', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<div id="ast-advanced-headers-preview-img">
|
|
<?php if ( isset( $design['bg-image'] ) && '' != $design['bg-image'] ) { ?>
|
|
<img class="ast-advanced-headers-bg-image saved-image"
|
|
src="<?php echo esc_url( $design['bg-image'] ); ?>" width="150"
|
|
style="margin-bottom:12px;"/>
|
|
<?php } ?>
|
|
</div>
|
|
<input type="hidden" id="ast-advanced-headers-bg-image-id"
|
|
class="ast-advanced-headers-bg-image-id" name="ast-advanced-headers-design[bg-image-id]"
|
|
value="<?php echo esc_attr( $design['bg-image-id'] ); ?>"/>
|
|
<input type="hidden" id="ast-advanced-headers-bg-image" class="ast-advanced-headers-bg-image"
|
|
name="ast-advanced-headers-design[bg-image]"
|
|
value="<?php echo esc_attr( $design['bg-image'] ); ?>"/>
|
|
|
|
<a class="ast-advanced-headers-bg-image-select button-secondary"
|
|
href="#"><?php esc_html_e( 'Select Image', 'astra-addon' ); ?></a>
|
|
<?php
|
|
// Remove button based on image is selected or not.
|
|
$remove_button = ( isset( $design['bg-image'] ) && '' != $design['bg-image'] ) ? 'display:inline-block' : 'display:none';
|
|
?>
|
|
<button class="ast-advanced-headers-bg-image-remove button" type="button"
|
|
style="<?php echo esc_attr( $remove_button ); ?>">
|
|
<?php esc_html_e( 'Remove Image', 'astra-addon' ); ?>
|
|
</button>
|
|
<br><br>
|
|
<input type="checkbox" id="ast-advanced-header-page-post-featured"
|
|
name="ast-advanced-headers-design[page-post-featured]"
|
|
value="enabled" <?php checked( isset( $design['page-post-featured'] ) ? $design['page-post-featured'] : '', 'enabled' ); ?> />
|
|
|
|
<label for="ast-advanced-header-page-post-featured">
|
|
<?php esc_html_e( 'Override this image with the featured image on individual posts & pages. ', 'astra-addon' ); ?>
|
|
</label>
|
|
|
|
<br><br>
|
|
<input type="checkbox" id="ast-advanced-header-overlay-bg-color"
|
|
name="ast-advanced-headers-design[overlay-bg-color]"
|
|
value="enabled" <?php checked( isset( $design['overlay-bg-color'] ) ? $design['overlay-bg-color'] : '', 'enabled' ); ?> />
|
|
|
|
<label for="ast-advanced-header-overlay-bg-color">
|
|
<?php esc_html_e( 'Overlay Background Color', 'astra-addon' ); ?>
|
|
</label>
|
|
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Parallax', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<!-- Deprecated checkbox to enable Parallax effect, this is now replaced by select box to enable parallax effect on responsive devices from version 2.3.0 This option should be removed after 4 major updates. -->
|
|
<input type="hidden" name="ast-advanced-headers-design[parallax]"
|
|
value="<?php echo esc_attr( ( 'none' !== $design['parallax-device'] ) ? 'enabled' : '' ); ?>" />
|
|
<select name="ast-advanced-headers-design[parallax-device]" id="ast-advanced-header-design-parallax-device"
|
|
style="width:210px;">
|
|
<option value="none" <?php selected( $design['parallax-device'], 'none' ); ?> > <?php esc_html_e( 'None', 'astra-addon' ); ?></option>
|
|
<option value="both" <?php selected( $design['parallax-device'], 'both' ); ?> > <?php esc_html_e( 'Desktop + Mobile', 'astra-addon' ); ?></option>
|
|
<option value="desktop" <?php selected( $design['parallax-device'], 'desktop' ); ?> > <?php esc_html_e( 'Desktop', 'astra-addon' ); ?></option>
|
|
<option value="mobile" <?php selected( $design['parallax-device'], 'mobile' ); ?> > <?php esc_html_e( 'Mobile', 'astra-addon' ); ?></option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
/**
|
|
* Markup for Site Header Tabs
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @param array $options Post meta.
|
|
*/
|
|
public function site_header_tab( $options ) {
|
|
$layout = $options['layouts'];
|
|
$design = $options['designs'];
|
|
|
|
?>
|
|
<table class="ast-advanced-headers-table widefat ast-required-advanced-headers">
|
|
<tr class="ast-advanced-headers-row ast-advanced-header-layout-merge-wrap">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Merge Page Header with Site Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-merged"
|
|
name="ast-advanced-headers-layout[merged]"
|
|
value="enabled" <?php checked( isset( $layout['merged'] ) ? $layout['merged'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="ast-advanced-headers-table require-merge-ast-advanced-header widefat">
|
|
<!-- Site Identity -->
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Site Identity', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row diff-logo-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Different Logo for Page Header?', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-diff-header-logo"
|
|
name="ast-advanced-headers-layout[diff-header-logo]"
|
|
value="enabled" <?php checked( isset( $layout['diff-header-logo'] ) ? $layout['diff-header-logo'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-logo-settings-wrap">
|
|
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Logo', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<div id="ast-advanced-headers-preview-logo">
|
|
<?php if ( isset( $design['logo-url'] ) && '' != $design['logo-url'] ) { ?>
|
|
<img class="ast-advanced-headers-logo saved-image"
|
|
src="<?php echo esc_url( $design['logo-url'] ); ?>"
|
|
style="margin-bottom:12px;max-width:150px;"/>
|
|
<?php } ?>
|
|
</div>
|
|
<input type="hidden" id="ast-advanced-headers-logo-id" class="ast-advanced-headers-logo-id"
|
|
name="ast-advanced-headers-design[logo-id]"
|
|
value="<?php echo esc_attr( $design['logo-id'] ); ?>"/>
|
|
<input type="hidden" id="ast-advanced-headers-logo" class="ast-advanced-headers-logo"
|
|
name="ast-advanced-headers-design[logo-url]"
|
|
value="<?php echo esc_attr( $design['logo-url'] ); ?>"/>
|
|
|
|
<a class="ast-advanced-header-logo-select button-secondary"
|
|
href="#"><?php esc_html_e( 'Select logo', 'astra-addon' ); ?></a>
|
|
<?php
|
|
// Remove button based on image is selected or not.
|
|
$remove_logo_button = ( isset( $design['logo-url'] ) && '' != $design['logo-url'] ) ? 'display:inline-block;' : 'display:none;';
|
|
?>
|
|
<button class="ast-advanced-headers-logo-remove button" type="button"
|
|
style="<?php echo esc_attr( $remove_logo_button ); ?>">
|
|
<?php esc_html_e( 'Remove Logo', 'astra-addon' ); ?>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-diff-header-retina-logo">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Different Logo for retina devices?', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-diff-header-retina-logo"
|
|
name="ast-advanced-headers-layout[diff-header-retina-logo]"
|
|
value="enabled" <?php checked( isset( $layout['diff-header-retina-logo'] ) ? $layout['diff-header-retina-logo'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-retina-logo-settings-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Retina Logo', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<div id="ast-advanced-headers-preview-logo">
|
|
<?php if ( isset( $design['retina-logo-url'] ) && '' != $design['retina-logo-url'] ) { ?>
|
|
<img class="ast-advanced-headers-logo saved-image"
|
|
src="<?php echo esc_url( $design['retina-logo-url'] ); ?>"
|
|
style="margin-bottom:12px;max-width:150px;"/>
|
|
<?php } ?>
|
|
</div>
|
|
<input type="hidden" id="ast-advanced-headers-logo-id" class="ast-advanced-headers-logo-id"
|
|
name="ast-advanced-headers-design[retina-logo-id]"
|
|
value="<?php echo esc_attr( $design['retina-logo-id'] ); ?>"/>
|
|
<input type="hidden" id="ast-advanced-headers-logo" class="ast-advanced-headers-logo"
|
|
name="ast-advanced-headers-design[retina-logo-url]"
|
|
value="<?php echo esc_attr( $design['retina-logo-url'] ); ?>"/>
|
|
|
|
<a class="ast-advanced-header-logo-select button-secondary"
|
|
href="#"><?php esc_html_e( 'Select logo', 'astra-addon' ); ?></a>
|
|
<?php
|
|
// Remove button based on image is selected or not.
|
|
$remove_logo_button = ( isset( $design['retina-logo-url'] ) && '' != $design['retina-logo-url'] ) ? 'display:inline-block;' : 'display:none;';
|
|
?>
|
|
<button class="ast-advanced-headers-logo-remove button" type="button"
|
|
style="<?php echo esc_attr( $remove_logo_button ); ?>">
|
|
<?php esc_html_e( 'Remove Logo', 'astra-addon' ); ?>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-logo-settings-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Logo Width', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="number" min="0" step="1" max="600"
|
|
name="ast-advanced-headers-design[header-logo-width]"
|
|
value="<?php echo esc_attr( $design['header-logo-width'] ); ?>" placeholder='0'/>
|
|
</td>
|
|
</tr>
|
|
<!-- Header Colors -->
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Customize Site Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Overlay Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[header-bg-color]"
|
|
value="<?php echo esc_attr( $design['header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<?php
|
|
$site_title_setting = astra_get_option( 'display-site-title-responsive' );
|
|
$site_title = ( $site_title_setting['desktop'] || $site_title_setting['tablet'] || $site_title_setting['mobile'] ) ? true : false;
|
|
if ( $site_title ) {
|
|
?>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Title Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-title-color]"
|
|
value="<?php echo esc_attr( $design['site-title-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Title Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-title-h-color]"
|
|
value="<?php echo esc_attr( $design['site-title-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
$site_tagline_setting = astra_get_option( 'display-site-tagline-responsive' );
|
|
$display_site_tagline = ( $site_tagline_setting['desktop'] || $site_tagline_setting['tablet'] || $site_tagline_setting['mobile'] ) ? true : false;
|
|
if ( $display_site_tagline ) {
|
|
?>
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Tagline Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-tagline-color]"
|
|
value="<?php echo esc_attr( $design['site-tagline-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Border Bottom Size', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="number" min="0" step="1" max="600"
|
|
name="ast-advanced-headers-design[header-main-sep]"
|
|
value="<?php echo esc_attr( $design['header-main-sep'] ); ?>" placeholder='0'/>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Bottom Border Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[header-main-sep-color]"
|
|
value="<?php echo esc_attr( $design['header-main-sep-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- Primary menu Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Primary Menu', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-bg-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-h-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-a-color]"
|
|
value="<?php echo ( isset( $design['primary-menu-a-color'] ) ) ? esc_attr( $design['primary-menu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Primary menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-bg-color'] ) ) ? esc_attr( $design['primary-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-color'] ) ) ? esc_attr( $design['primary-submenu-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-h-color'] ) ) ? esc_attr( $design['primary-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-a-color'] ) ) ? esc_attr( $design['primary-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
// Get all nav menus.
|
|
$menu_locations = get_nav_menu_locations();
|
|
?>
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Select Primary Menu', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
if ( isset( $design['custom-menu'] ) ) {
|
|
$primary_manu = isset( $menu_locations['primary'] ) ? $menu_locations['primary'] : '';
|
|
$custom_menu = ( ( isset( $design['custom-menu'] ) && '' == $design['custom-menu'] ) ) ? $primary_manu : $design['custom-menu'];
|
|
$nav_menus = wp_get_nav_menus();
|
|
}
|
|
?>
|
|
|
|
<select name="ast-advanced-headers-design[custom-menu]" style="width: auto" ;>
|
|
<option
|
|
value="0"><?php printf( '— %s —', esc_html__( 'Default', 'astra-addon' ) ); ?></option>
|
|
<?php
|
|
if ( isset( $design['custom-menu'] ) && ! empty( $nav_menus ) ) {
|
|
foreach ( $nav_menus as $menu ) :
|
|
?>
|
|
<option <?php selected( $custom_menu == $menu->term_id ); ?>
|
|
value="<?php echo esc_attr( $menu->term_id ); ?>">
|
|
<?php echo esc_html( $menu->name ); ?>
|
|
</option>
|
|
<?php
|
|
endforeach;
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Custom Menu Item', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
$custom_menu_item = isset( $design['custom-menu-item'] ) ? $design['custom-menu-item'] : 'default';
|
|
$primary_custom_menu_item = apply_filters(
|
|
'astra_header_section_elements',
|
|
array(
|
|
'default' => __( 'Customizer Setting', 'astra-addon' ),
|
|
'none' => __( 'None', 'astra-addon' ),
|
|
'search' => __( 'Search', 'astra-addon' ),
|
|
'text-html' => __( 'Text / HTML', 'astra-addon' ),
|
|
'widget' => __( 'Widget', 'astra-addon' ),
|
|
),
|
|
'primary-header'
|
|
);
|
|
?>
|
|
<select id="ast-advanced-headers-design-custom-menu-item" name="ast-advanced-headers-design[custom-menu-item]" style="width: auto" ;>
|
|
<?php foreach ( $primary_custom_menu_item as $custom_menu_item_key => $custom_menu_item_value ) { ?>
|
|
<option <?php selected( $custom_menu_item, $custom_menu_item_key ); ?> value="<?php echo esc_attr( $custom_menu_item_key ); ?>"> <?php echo esc_html( $custom_menu_item_value ); ?></option>
|
|
<?php } ?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Search Style', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
$current_search_style = isset( $design['search-style'] ) ? $design['search-style'] : 'default';
|
|
|
|
$search_styles = array(
|
|
'default' => __( 'Customizer Setting', 'astra-addon' ),
|
|
'slide-search' => __( 'Slide Search', 'astra-addon' ),
|
|
'full-screen' => __( 'Full Screen Search', 'astra-addon' ),
|
|
'header-cover' => __( 'Header Cover Search', 'astra-addon' ),
|
|
'search-box' => __( 'Search Box', 'astra-addon' ),
|
|
);
|
|
?>
|
|
<select id="ast-advanced-headers-design-search-style" name="ast-advanced-headers-design[search-style]" style="width: auto" ;>
|
|
<?php foreach ( $search_styles as $style_slug => $style_title ) { ?>
|
|
<option <?php selected( $current_search_style, $style_slug ); ?> value="<?php echo esc_attr( $style_slug ); ?>"> <?php echo esc_html( $style_title ); ?></option>
|
|
<?php } ?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-custom-menu-item-enabled">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Take custom menu item outside', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-custom-menu-item-outside"
|
|
name="ast-advanced-headers-design[custom-menu-item-outside]"
|
|
value="enabled" <?php checked( isset( $design['custom-menu-item-outside'] ) ? $design['custom-menu-item-outside'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-custom-menu-item-text-enabled">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Custom Menu Text / HTML', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<textarea type="checkbox" id="ast-advanced-header-custom-menu-item-text-html" name="ast-advanced-headers-design[custom-menu-item-text-html]" ><?php echo esc_textarea( isset( $design['custom-menu-item-text-html'] ) ? $design['custom-menu-item-text-html'] : '' ); ?></textarea>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
|
|
$above_header_layout = astra_get_option( 'above-header-layout' );
|
|
|
|
if ( Astra_Ext_Extension::is_active( 'header-sections' ) && 'disabled' != $above_header_layout ) {
|
|
?>
|
|
|
|
<!-- Above Header Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Above Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Display Above Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-above-header"
|
|
name="ast-advanced-headers-layout[above-header-enabled]"
|
|
value="enabled" <?php checked( isset( $layout['above-header-enabled'] ) ? $layout['above-header-enabled'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-bg-color]"
|
|
value="<?php echo esc_attr( $design['above-header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-text-link-color]"
|
|
value="<?php echo esc_attr( $design['above-header-text-link-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-h-color]"
|
|
value="<?php echo esc_attr( $design['above-header-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-a-color]"
|
|
value="<?php echo ( isset( $design['above-header-a-color'] ) ) ? esc_attr( $design['above-header-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<!-- Above menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-bg-color'] ) ) ? esc_attr( $design['above-header-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-link-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-link-color'] ) ) ? esc_attr( $design['above-header-submenu-link-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-h-color'] ) ) ? esc_attr( $design['above-header-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-a-color'] ) ) ? esc_attr( $design['above-header-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
$below_header_layout = astra_get_option( 'below-header-layout' );
|
|
|
|
if ( Astra_Ext_Extension::is_active( 'header-sections' ) && 'disabled' != $below_header_layout ) {
|
|
?>
|
|
|
|
<!-- Below Header Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Below Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Display Below Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-below-header"
|
|
name="ast-advanced-headers-layout[below-header-enabled]"
|
|
value="enabled" <?php checked( isset( $layout['below-header-enabled'] ) ? $layout['below-header-enabled'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-bg-color]"
|
|
value="<?php echo esc_attr( $design['below-header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-text-link-color]"
|
|
value="<?php echo esc_attr( $design['below-header-text-link-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-h-color]"
|
|
value="<?php echo esc_attr( $design['below-header-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-a-color]"
|
|
value="<?php echo ( isset( $design['below-header-a-color'] ) ) ? esc_attr( $design['below-header-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<!-- Below menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-bg-color'] ) ) ? esc_attr( $design['below-header-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-link-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-link-color'] ) ) ? esc_attr( $design['below-header-submenu-link-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-h-color'] ) ) ? esc_attr( $design['below-header-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-a-color'] ) ) ? esc_attr( $design['below-header-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Markup for Site Header Tabs.
|
|
*
|
|
* @since 3.0.0
|
|
*
|
|
* @param array $options Post meta.
|
|
*/
|
|
public function hfb_site_header_tab( $options ) {
|
|
$layout = $options['layouts'];
|
|
$design = $options['designs'];
|
|
|
|
?>
|
|
<table class="ast-advanced-headers-table widefat ast-required-advanced-headers">
|
|
<tr class="ast-advanced-headers-row ast-advanced-header-layout-merge-wrap">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Merge Page Header with Site Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-merged"
|
|
name="ast-advanced-headers-layout[merged]"
|
|
value="enabled" <?php checked( isset( $layout['merged'] ) ? $layout['merged'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="ast-advanced-headers-table require-merge-ast-advanced-header widefat">
|
|
<!-- Site Identity -->
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Site Identity', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row diff-logo-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Different Logo for Page Header?', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-diff-header-logo"
|
|
name="ast-advanced-headers-layout[diff-header-logo]"
|
|
value="enabled" <?php checked( isset( $layout['diff-header-logo'] ) ? $layout['diff-header-logo'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-logo-settings-wrap">
|
|
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Logo', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<div id="ast-advanced-headers-preview-logo">
|
|
<?php if ( isset( $design['logo-url'] ) && '' != $design['logo-url'] ) { ?>
|
|
<img class="ast-advanced-headers-logo saved-image"
|
|
src="<?php echo esc_url( $design['logo-url'] ); ?>"
|
|
style="margin-bottom:12px;max-width:150px;"/>
|
|
<?php } ?>
|
|
</div>
|
|
<input type="hidden" id="ast-advanced-headers-logo-id" class="ast-advanced-headers-logo-id"
|
|
name="ast-advanced-headers-design[logo-id]"
|
|
value="<?php echo esc_attr( $design['logo-id'] ); ?>"/>
|
|
<input type="hidden" id="ast-advanced-headers-logo" class="ast-advanced-headers-logo"
|
|
name="ast-advanced-headers-design[logo-url]"
|
|
value="<?php echo esc_attr( $design['logo-url'] ); ?>"/>
|
|
|
|
<a class="ast-advanced-header-logo-select button-secondary"
|
|
href="#"><?php esc_html_e( 'Select logo', 'astra-addon' ); ?></a>
|
|
<?php
|
|
// Remove button based on image is selected or not.
|
|
$remove_logo_button = ( isset( $design['logo-url'] ) && '' != $design['logo-url'] ) ? 'display:inline-block;' : 'display:none;';
|
|
?>
|
|
<button class="ast-advanced-headers-logo-remove button" type="button"
|
|
style="<?php echo esc_attr( $remove_logo_button ); ?>">
|
|
<?php esc_html_e( 'Remove Logo', 'astra-addon' ); ?>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-diff-header-retina-logo">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Different Logo for retina devices?', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-diff-header-retina-logo"
|
|
name="ast-advanced-headers-layout[diff-header-retina-logo]"
|
|
value="enabled" <?php checked( isset( $layout['diff-header-retina-logo'] ) ? $layout['diff-header-retina-logo'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-retina-logo-settings-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Retina Logo', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<div id="ast-advanced-headers-preview-logo">
|
|
<?php if ( isset( $design['retina-logo-url'] ) && '' != $design['retina-logo-url'] ) { ?>
|
|
<img class="ast-advanced-headers-logo saved-image"
|
|
src="<?php echo esc_url( $design['retina-logo-url'] ); ?>"
|
|
style="margin-bottom:12px;max-width:150px;"/>
|
|
<?php } ?>
|
|
</div>
|
|
<input type="hidden" id="ast-advanced-headers-logo-id" class="ast-advanced-headers-logo-id"
|
|
name="ast-advanced-headers-design[retina-logo-id]"
|
|
value="<?php echo esc_attr( $design['retina-logo-id'] ); ?>"/>
|
|
<input type="hidden" id="ast-advanced-headers-logo" class="ast-advanced-headers-logo"
|
|
name="ast-advanced-headers-design[retina-logo-url]"
|
|
value="<?php echo esc_attr( $design['retina-logo-url'] ); ?>"/>
|
|
|
|
<a class="ast-advanced-header-logo-select button-secondary"
|
|
href="#"><?php esc_html_e( 'Select logo', 'astra-addon' ); ?></a>
|
|
<?php
|
|
// Remove button based on image is selected or not.
|
|
$remove_logo_button = ( isset( $design['retina-logo-url'] ) && '' != $design['retina-logo-url'] ) ? 'display:inline-block;' : 'display:none;';
|
|
?>
|
|
<button class="ast-advanced-headers-logo-remove button" type="button"
|
|
style="<?php echo esc_attr( $remove_logo_button ); ?>">
|
|
<?php esc_html_e( 'Remove Logo', 'astra-addon' ); ?>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-logo-settings-wrap">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Logo Width', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="number" min="0" step="1" max="600"
|
|
name="ast-advanced-headers-design[header-logo-width]"
|
|
value="<?php echo esc_attr( $design['header-logo-width'] ); ?>" placeholder='0'/>
|
|
</td>
|
|
</tr>
|
|
<!-- Header Colors -->
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Customize Site Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Overlay Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[header-bg-color]"
|
|
value="<?php echo esc_attr( $design['header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<?php
|
|
$site_title_setting = astra_get_option( 'display-site-title-responsive' );
|
|
$site_title = ( $site_title_setting['desktop'] || $site_title_setting['tablet'] || $site_title_setting['mobile'] ) ? true : false;
|
|
if ( $site_title ) {
|
|
?>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Title Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-title-color]"
|
|
value="<?php echo esc_attr( $design['site-title-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Title Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-title-h-color]"
|
|
value="<?php echo esc_attr( $design['site-title-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
$site_tagline_setting = astra_get_option( 'display-site-tagline-responsive' );
|
|
$display_site_tagline = ( $site_tagline_setting['desktop'] || $site_tagline_setting['tablet'] || $site_tagline_setting['mobile'] ) ? true : false;
|
|
if ( $display_site_tagline ) {
|
|
?>
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Site Tagline Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[site-tagline-color]"
|
|
value="<?php echo esc_attr( $design['site-tagline-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Border Bottom Size', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="number" min="0" step="1" max="600"
|
|
name="ast-advanced-headers-design[header-main-sep]"
|
|
value="<?php echo esc_attr( $design['header-main-sep'] ); ?>" placeholder='0'/>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Bottom Border Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[header-main-sep-color]"
|
|
value="<?php echo esc_attr( $design['header-main-sep-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- Primary menu Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Primary Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-bg-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-h-color]"
|
|
value="<?php echo esc_attr( $design['primary-menu-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-menu-a-color]"
|
|
value="<?php echo ( isset( $design['primary-menu-a-color'] ) ) ? esc_attr( $design['primary-menu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Primary menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-bg-color'] ) ) ? esc_attr( $design['primary-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-color'] ) ) ? esc_attr( $design['primary-submenu-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-h-color'] ) ) ? esc_attr( $design['primary-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row require-merge-ast-advanced-header">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[primary-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['primary-submenu-a-color'] ) ) ? esc_attr( $design['primary-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
// Get all nav menus.
|
|
$menu_locations = get_nav_menu_locations();
|
|
?>
|
|
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Select Primary Menu', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
if ( isset( $design['custom-menu'] ) ) {
|
|
$primary_manu = isset( $menu_locations['primary'] ) ? $menu_locations['primary'] : '';
|
|
$custom_menu = ( ( isset( $design['custom-menu'] ) && '' == $design['custom-menu'] ) ) ? $primary_manu : $design['custom-menu'];
|
|
$nav_menus = wp_get_nav_menus();
|
|
}
|
|
?>
|
|
|
|
<select name="ast-advanced-headers-design[custom-menu]" style="width: auto" ;>
|
|
<option
|
|
value="0"><?php printf( '— %s —', esc_html__( 'Default', 'astra-addon' ) ); ?></option>
|
|
<?php
|
|
if ( isset( $design['custom-menu'] ) && ! empty( $nav_menus ) ) {
|
|
foreach ( $nav_menus as $menu ) :
|
|
?>
|
|
<option <?php selected( $custom_menu == $menu->term_id ); ?>
|
|
value="<?php echo esc_attr( $menu->term_id ); ?>">
|
|
<?php echo esc_html( $menu->name ); ?>
|
|
</option>
|
|
<?php
|
|
endforeach;
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
|
|
if ( Astra_Addon_Builder_Helper::is_row_empty( 'above', 'header', 'desktop' ) ) {
|
|
?>
|
|
|
|
<!-- Above Header Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Above Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Display Above Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-above-header"
|
|
name="ast-advanced-headers-layout[above-header-enabled]"
|
|
value="enabled" <?php checked( isset( $layout['above-header-enabled'] ) ? $layout['above-header-enabled'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-bg-color]"
|
|
value="<?php echo esc_attr( $design['above-header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-text-link-color]"
|
|
value="<?php echo esc_attr( $design['above-header-text-link-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-h-color]"
|
|
value="<?php echo esc_attr( $design['above-header-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-a-color]"
|
|
value="<?php echo ( isset( $design['above-header-a-color'] ) ) ? esc_attr( $design['above-header-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<!-- Above menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-bg-color'] ) ) ? esc_attr( $design['above-header-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-link-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-link-color'] ) ) ? esc_attr( $design['above-header-submenu-link-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-h-color'] ) ) ? esc_attr( $design['above-header-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[above-header-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['above-header-submenu-a-color'] ) ) ? esc_attr( $design['above-header-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
if ( Astra_Addon_Builder_Helper::is_row_empty( 'below', 'header', 'desktop' ) ) {
|
|
?>
|
|
|
|
<!-- Below Header Colors -->
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading title">
|
|
<label><?php esc_html_e( 'Below Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Display Below Header', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-header-layout-below-header"
|
|
name="ast-advanced-headers-layout[below-header-enabled]"
|
|
value="enabled" <?php checked( isset( $layout['below-header-enabled'] ) ? $layout['below-header-enabled'] : '', 'enabled' ); ?> />
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-bg-color]"
|
|
value="<?php echo esc_attr( $design['below-header-bg-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-text-link-color]"
|
|
value="<?php echo esc_attr( $design['below-header-text-link-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-h-color]"
|
|
value="<?php echo esc_attr( $design['below-header-h-color'] ); ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-a-color]"
|
|
value="<?php echo ( isset( $design['below-header-a-color'] ) ) ? esc_attr( $design['below-header-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<!-- Below menu -> submenu Colors -->
|
|
<tr class="ast-advanced-headers-row ast-above-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Background Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-bg-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-bg-color'] ) ) ? esc_attr( $design['below-header-submenu-bg-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link / Text Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-link-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-link-color'] ) ) ? esc_attr( $design['below-header-submenu-link-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Hover Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-h-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-h-color'] ) ) ? esc_attr( $design['below-header-submenu-h-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row ast-below-header-required">
|
|
<td class="ast-advanced-headers-row-sub-heading">
|
|
<label><?php esc_html_e( 'Submenu Link Active Color', 'astra-addon' ); ?></label>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="text" class="ast-advanced-headers-color-picker" data-alpha="true"
|
|
name="ast-advanced-headers-design[below-header-submenu-a-color]"
|
|
value="<?php echo ( isset( $design['below-header-submenu-a-color'] ) ) ? esc_attr( $design['below-header-submenu-a-color'] ) : ''; ?>" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Markup for Display Rules Tabs.
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @param array $options Post meta.
|
|
*/
|
|
public function display_rules_tab( $options ) {
|
|
// Load Target Rule assets.
|
|
Astra_Target_Rules_Fields::get_instance()->admin_styles();
|
|
|
|
$layout = $options['layouts'];
|
|
$design = $options['designs'];
|
|
$include_locations = $options['include_locations'];
|
|
$exclude_locations = $options['exclude_locations'];
|
|
$users = $options['user_roles'];
|
|
?>
|
|
<table class="ast-advanced-headers-table widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Display On', 'astra-addon' ); ?></label>
|
|
<i class="ast-advanced-headers-heading-help dashicons dashicons-editor-help"
|
|
title="<?php echo esc_attr__( 'Add locations for where this Advanced Header should appear.', 'astra-addon' ); ?>"></i>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
Astra_Target_Rules_Fields::target_rule_settings_field(
|
|
'ast-advanced-headers-location',
|
|
array(
|
|
'title' => __( 'Display Rules', 'astra-addon' ),
|
|
'value' => '[{"type":"basic-global","specific":null}]',
|
|
'tags' => 'site,enable,target,pages',
|
|
'rule_type' => 'display',
|
|
'add_rule_label' => __( 'Add Display Rule', 'astra-addon' ),
|
|
),
|
|
$include_locations
|
|
);
|
|
?>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Do Not Display On', 'astra-addon' ); ?></label>
|
|
<i class="ast-advanced-headers-heading-help dashicons dashicons-editor-help"
|
|
title="<?php echo esc_attr__( 'This Advanced Header will not appear at these locations.', 'astra-addon' ); ?>"></i>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
Astra_Target_Rules_Fields::target_rule_settings_field(
|
|
'ast-advanced-headers-exclusion',
|
|
array(
|
|
'title' => __( 'Exclude On', 'astra-addon' ),
|
|
'value' => '[]',
|
|
'tags' => 'site,enable,target,pages',
|
|
'add_rule_label' => __( 'Add Exclusion Rule', 'astra-addon' ),
|
|
'rule_type' => 'exclude',
|
|
),
|
|
$exclude_locations
|
|
);
|
|
?>
|
|
</td>
|
|
</tr>
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'User Roles', 'astra-addon' ); ?></label>
|
|
<i class="ast-advanced-headers-heading-help dashicons dashicons-editor-help" title="<?php echo esc_attr__( 'Targer header based on user role.', 'astra-addon' ); ?>"></i>
|
|
</td>
|
|
<td class="ast-advanced-headers-row-content">
|
|
<?php
|
|
Astra_Target_Rules_Fields::target_user_role_settings_field(
|
|
'ast-advanced-headers-users',
|
|
array(
|
|
'title' => __( 'Users', 'astra-addon' ),
|
|
'value' => '[]',
|
|
'tags' => 'site,enable,target,pages',
|
|
'add_rule_label' => __( 'Add User Rule', 'astra-addon' ),
|
|
),
|
|
$users
|
|
);
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- Transparent header notice -->
|
|
<table class="ast-advanced-headers-table ast-transparent-notice-wrap widefat">
|
|
<tr class="ast-advanced-headers-row">
|
|
<td class="ast-advanced-headers-row-heading">
|
|
<label><?php esc_html_e( 'Force Disable Transparency on Archives?', 'astra-addon' ); ?></label>
|
|
<i class="ast-advanced-headers-heading-help dashicons dashicons-editor-help"
|
|
title="<?php echo esc_attr__( 'Merge Page Header with Site Header is generally not recommended on achieve pages such as search, 404, etc. If you would like to enable it, use this setting.', 'astra-addon' ); ?>"></i>
|
|
</td>
|
|
|
|
<td class="ast-advanced-headers-row-content">
|
|
<input type="checkbox" id="ast-advanced-headers-layout-force-transparent-yes"
|
|
name="ast-advanced-headers-layout[force-transparent-disabled]"
|
|
value="yes" <?php checked( isset( $layout['force-transparent-disabled'] ) ? $layout['force-transparent-disabled'] : '', 'yes' ); ?> />
|
|
<label
|
|
for="ast-advanced-headers-layout-force-transparent-yes"><?php esc_html_e( 'Yes', 'astra-addon' ); ?></label><br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
/**
|
|
* Add logo image sizes in filter.
|
|
*
|
|
* @since 1.0.0
|
|
* @param array $sizes Sizes.
|
|
* @param array $metadata attachment data.
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function logo_image_sizes( $sizes, $metadata ) {
|
|
|
|
$is_valid_nonce = ( isset( $_POST['astra-advanced-headers'] ) && wp_verify_nonce( sanitize_text_field( $_POST['astra-advanced-headers'] ), basename( __FILE__ ) ) ) ? true : false;
|
|
|
|
if ( ! $is_valid_nonce ) {
|
|
return;
|
|
}
|
|
|
|
$logo_width = isset( $_POST['ast-advanced-headers-design']['header-logo-width'] ) ? sanitize_key( $_POST['ast-advanced-headers-design']['header-logo-width'] ) : '';
|
|
|
|
if ( is_array( $sizes ) && '' !== $logo_width ) {
|
|
$sizes['ast-adv-header-logo-size'] = array(
|
|
'width' => (int) $logo_width,
|
|
'height' => 0,
|
|
'crop' => false,
|
|
);
|
|
}
|
|
|
|
return $sizes;
|
|
}
|
|
|
|
/**
|
|
* Generate logo image by its width.
|
|
*
|
|
* @since 1.0.0
|
|
* @param int $custom_logo_id Logo id.
|
|
*/
|
|
public static function generate_logo_by_width( $custom_logo_id ) {
|
|
if ( $custom_logo_id ) {
|
|
|
|
add_filter( 'intermediate_image_sizes_advanced', 'Astra_Ext_Advanced_Headers_Meta::logo_image_sizes', 10, 2 );
|
|
|
|
$image = get_post( $custom_logo_id );
|
|
|
|
if ( $image ) {
|
|
$fullsizepath = get_attached_file( $image->ID );
|
|
|
|
if ( false !== $fullsizepath || file_exists( $fullsizepath ) ) {
|
|
|
|
$metadata = wp_generate_attachment_metadata( $image->ID, $fullsizepath );
|
|
|
|
if ( ! is_wp_error( $metadata ) && ! empty( $metadata ) ) {
|
|
wp_update_attachment_metadata( $image->ID, $metadata );
|
|
}
|
|
}
|
|
}
|
|
|
|
remove_filter( 'intermediate_image_sizes_advanced', 'Astra_Ext_Advanced_Headers_Meta::logo_image_sizes', 10 );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Kicking this off by calling 'get_instance()' method
|
|
*/
|
|
Astra_Ext_Advanced_Headers_Meta::get_instance();
|