791 lines
47 KiB
PHP
791 lines
47 KiB
PHP
<?php
|
|
defined( 'WPINC' ) or die;
|
|
|
|
if ( ! function_exists( 'add_generate_page_header_meta_box' ) ) {
|
|
add_action( 'add_meta_boxes', 'add_generate_page_header_meta_box', 50 );
|
|
/**
|
|
* Generate the page header metabox.
|
|
*
|
|
* @since 0.1
|
|
*/
|
|
function add_generate_page_header_meta_box() {
|
|
// Set user role - make filterable
|
|
$allowed = apply_filters( 'generate_page_header_metabox_capability', 'edit_posts' );
|
|
|
|
// If not an administrator, don't show the metabox
|
|
if ( ! current_user_can( $allowed ) ) {
|
|
return;
|
|
}
|
|
|
|
$stored_meta = (array) get_post_meta( get_the_ID() );
|
|
|
|
// Set defaults to avoid PHP notices
|
|
$stored_meta['_meta-generate-page-header-image'][0] = ( isset( $stored_meta['_meta-generate-page-header-image'][0] ) ) ? $stored_meta['_meta-generate-page-header-image'][0] : '';
|
|
$stored_meta['_meta-generate-page-header-image-id'][0] = ( isset( $stored_meta['_meta-generate-page-header-image-id'][0] ) ) ? $stored_meta['_meta-generate-page-header-image-id'][0] : '';
|
|
$stored_meta['_meta-generate-page-header-content'][0] = ( isset( $stored_meta['_meta-generate-page-header-content'][0] ) ) ? $stored_meta['_meta-generate-page-header-content'][0] : '';
|
|
|
|
$args = array( 'public' => true );
|
|
$post_types = get_post_types( $args );
|
|
|
|
// Bail if we're not using the old Page Header meta box
|
|
if ( 'generate_page_header' !== get_post_type() && '' == $stored_meta['_meta-generate-page-header-content'][0] && '' == $stored_meta['_meta-generate-page-header-image'][0] && '' == $stored_meta['_meta-generate-page-header-image-id'][0] ) {
|
|
if ( ! defined( 'GENERATE_LAYOUT_META_BOX' ) ) {
|
|
foreach ( $post_types as $type ) {
|
|
if ( 'attachment' !== $type ) {
|
|
add_meta_box(
|
|
'generate_select_page_header_meta_box',
|
|
__( 'Page Header', 'gp-premium' ),
|
|
'generate_do_select_page_header_meta_box',
|
|
$type,
|
|
'normal',
|
|
'high'
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( ! apply_filters( 'generate_page_header_legacy_metabox', false ) ) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
array_push( $post_types, 'generate_page_header' );
|
|
foreach ($post_types as $type) {
|
|
if ( 'attachment' !== $type ) {
|
|
add_meta_box(
|
|
'generate_page_header_meta_box',
|
|
__( 'Page Header', 'gp-premium' ),
|
|
'show_generate_page_header_meta_box',
|
|
$type,
|
|
'normal',
|
|
'high'
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( ! function_exists( 'generate_page_header_metabox_enqueue' ) ) {
|
|
add_action( 'admin_enqueue_scripts', 'generate_page_header_metabox_enqueue' );
|
|
/**
|
|
* Add our metabox scripts
|
|
*/
|
|
function generate_page_header_metabox_enqueue( $hook ) {
|
|
// I prefer to enqueue the styles only on pages that are using the metaboxes
|
|
if ( in_array( $hook, array( "post.php", "post-new.php" ) ) ) {
|
|
$args = array( 'public' => true );
|
|
$post_types = get_post_types( $args );
|
|
|
|
$screen = get_current_screen();
|
|
$post_type = $screen->id;
|
|
|
|
if ( in_array( $post_type, (array) $post_types ) || 'generate_page_header' == get_post_type() ){
|
|
wp_enqueue_media();
|
|
wp_enqueue_script( 'wp-color-picker' );
|
|
wp_enqueue_style( 'wp-color-picker' );
|
|
wp_enqueue_script( 'wp-color-picker-alpha', plugin_dir_url( __FILE__ ) . 'js/wp-color-picker-alpha.min.js', array( 'wp-color-picker' ), GENERATE_PAGE_HEADER_VERSION );
|
|
|
|
wp_localize_script(
|
|
'wp-color-picker-alpha',
|
|
'gpSectionsColorPickerL10n',
|
|
array(
|
|
'defaultLabel' => __( 'Color value', 'gp-premium' ),
|
|
'pick' => __( 'Select Color', 'gp-premium' ),
|
|
'defaultString' => __( 'Default', 'gp-premium' ),
|
|
'defaultAriaLabel' => __( 'Select default color', 'gp-premium' ),
|
|
'clear' => __( 'Clear', 'gp-premium' ),
|
|
'clearAriaLabel' => __( 'Clear color', 'gp-premium' ),
|
|
)
|
|
);
|
|
|
|
wp_enqueue_style( 'generate-page-header-metabox', plugin_dir_url( __FILE__ ) . 'css/metabox.css', array(), GENERATE_PAGE_HEADER_VERSION );
|
|
wp_enqueue_script( 'generate-lc-switch', plugin_dir_url( __FILE__ ) . 'js/lc_switch.js', array( 'jquery' ), GENERATE_PAGE_HEADER_VERSION, false );
|
|
wp_enqueue_script( 'generate-page-header-metabox', plugin_dir_url( __FILE__ ) . 'js/metabox.js', array( 'jquery','generate-lc-switch', 'wp-color-picker' ), GENERATE_PAGE_HEADER_VERSION, false );
|
|
|
|
if ( function_exists( 'wp_add_inline_script' ) && function_exists( 'generate_get_default_color_palettes' ) ) {
|
|
// Grab our palette array and turn it into JS
|
|
$palettes = json_encode( generate_get_default_color_palettes() );
|
|
|
|
// Add our custom palettes
|
|
// json_encode takes care of escaping
|
|
wp_add_inline_script( 'wp-color-picker', 'jQuery.wp.wpColorPicker.prototype.options.palettes = ' . $palettes . ';' );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Build our Select Page Header meta box.
|
|
*
|
|
* @since 1.4
|
|
*/
|
|
function generate_do_select_page_header_meta_box( $post ) {
|
|
wp_nonce_field( basename( __FILE__ ), 'generate_page_header_nonce' );
|
|
$stored_meta = get_post_meta( $post->ID );
|
|
$stored_meta['_generate-select-page-header'][0] = ( isset( $stored_meta['_generate-select-page-header'][0] ) ) ? $stored_meta['_generate-select-page-header'][0] : '';
|
|
|
|
$page_headers = get_posts(array(
|
|
'posts_per_page' => -1,
|
|
'orderby' => 'title',
|
|
'post_type' => 'generate_page_header',
|
|
));
|
|
|
|
if ( count( $page_headers ) > 0 ) :
|
|
?>
|
|
<p>
|
|
<select name="_generate-select-page-header" id="_generate-select-page-header">
|
|
<option value="" <?php selected( $stored_meta['_generate-select-page-header'][0], '' ); ?>></option>
|
|
<?php
|
|
foreach( $page_headers as $header ) {
|
|
printf( '<option value="%1$s" %2$s>%3$s</option>',
|
|
$header->ID,
|
|
selected( $stored_meta['_generate-select-page-header'][0], $header->ID ),
|
|
$header->post_title
|
|
);
|
|
}
|
|
?>
|
|
</select>
|
|
</p>
|
|
<?php else : ?>
|
|
<p>
|
|
<?php
|
|
printf( __( 'No Page Headers found. Want to <a href="%1$s" target="_blank">create one</a>?', 'gp-premium' ),
|
|
esc_url( admin_url( 'post-new.php?post_type=generate_page_header' ) )
|
|
);
|
|
?>
|
|
</p>
|
|
<?php endif;
|
|
}
|
|
|
|
if ( ! function_exists( 'show_generate_page_header_meta_box' ) ) {
|
|
/**
|
|
* Outputs the content of the metabox
|
|
* This could use some cleaning up
|
|
*/
|
|
function show_generate_page_header_meta_box( $post ) {
|
|
wp_nonce_field( basename( __FILE__ ), 'generate_page_header_nonce' );
|
|
$show_excerpt_option = ( has_post_thumbnail() ) ? 'style="display:none;"' : 'style="display:block;"';
|
|
|
|
$content_required = sprintf(
|
|
'<div class="page-header-content-required" %2$s><p>%1$s</p></div>',
|
|
__( 'Content is required for the below settings to work.', 'gp-premium' ),
|
|
'' !== generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-content', true ) ? 'style="display:none"' : ''
|
|
);
|
|
|
|
if ( '' !== generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-content', true ) ) {
|
|
?>
|
|
<script>
|
|
jQuery(document).ready(function($) {
|
|
$('#generate-image-tab').hide();
|
|
$('#generate-content-tab').show();
|
|
$('.generate-tabs-menu .content-settings').addClass('generate-current');
|
|
$('.generate-tabs-menu .image-settings').removeClass('generate-current');
|
|
});
|
|
</script>
|
|
<?php
|
|
}
|
|
?>
|
|
<div id="generate-tabs-container">
|
|
<ul class="generate-tabs-menu">
|
|
<li class="generate-current image-settings">
|
|
<a href="#generate-image-tab"><?php _e( 'Image', 'gp-premium' ); ?></a>
|
|
</li>
|
|
|
|
<li class="content-settings">
|
|
<a href="#generate-content-tab"><?php _e( 'Content', 'gp-premium' ); ?></a>
|
|
</li>
|
|
|
|
<li class="video-settings">
|
|
<a href="#generate-video-background-tab"><?php _e( 'Background Video', 'gp-premium' ); ?></a>
|
|
</li>
|
|
|
|
<?php if ( generate_page_header_logo_exists() || generate_page_header_navigation_logo_exists() ) : ?>
|
|
<li class="logo-settings">
|
|
<a href="#generate-logo-tab"><?php _e( 'Logo', 'gp-premium' ); ?></a>
|
|
</li>
|
|
<?php endif; ?>
|
|
|
|
<li class="advanced-settings">
|
|
<a href="#generate-advanced-tab"><?php _e( 'Advanced', 'gp-premium' ); ?></a>
|
|
</li>
|
|
|
|
<?php if ( 'post' == get_post_type() && !is_single() ) : ?>
|
|
<div class="show-in-excerpt" <?php echo $show_excerpt_option; ?>>
|
|
<p>
|
|
<label for="_meta-generate-page-header-add-to-excerpt"><strong><?php _e( 'Add to excerpt', 'gp-premium' );?></strong></label><br />
|
|
<input class="add-to-excerpt" type="checkbox" name="_meta-generate-page-header-add-to-excerpt" id="_meta-generate-page-header-add-to-excerpt" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-add-to-excerpt', true ), 'yes' ); ?> />
|
|
</p>
|
|
</div>
|
|
<?php endif; ?>
|
|
</ul>
|
|
<div class="generate-tab">
|
|
<div id="generate-image-tab" class="generate-tab-content" style="display:block;">
|
|
<?php
|
|
$show_featured_image_message = ( has_post_thumbnail() && '' == generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true ) ) ? 'style="display:block;"' : 'style="display:none;"';
|
|
$remove_button = ( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true ) != "") ? 'style="display:inline-block;"' : 'style="display:none;"';
|
|
$show_image_settings = ( has_post_thumbnail() || '' !== generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true ) ) ? 'style="display:block;"' : 'style="display: none;"';
|
|
$no_image_selected = ( ! has_post_thumbnail() && '' == generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true ) ) ? 'style="display:block;"' : 'style="display:none;"';
|
|
?>
|
|
<div class="featured-image-message" <?php echo $show_featured_image_message; ?>>
|
|
<p class="description">
|
|
<?php _e( 'Currently using your <a href="#" class="generate-featured-image">featured image</a>.', 'gp-premium' ); ?>
|
|
</p>
|
|
</div>
|
|
|
|
<div id="preview-image" class="generate-page-header-image">
|
|
<?php if( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true ) != "") { ?>
|
|
<img class="saved-image" src="<?php echo esc_url( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true ) );?>" width="100" style="margin-bottom:12px;" />
|
|
<?php } ?>
|
|
</div>
|
|
|
|
<input data-prev="true" id="upload_image" type="hidden" name="_meta-generate-page-header-image" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true )); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="image" data-title="<?php _e( 'Page Header Image', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Image', 'gp-premium' ); ?>" data-prev="true">
|
|
<?php _e( 'Choose Image', 'gp-premium' ) ;?>
|
|
</button>
|
|
<button class="generate-page-header-remove-image button" type="button" <?php echo $remove_button; ?> data-input="#upload_image" data-input-id="#_meta-generate-page-header-image-id" data-prev=".generate-page-header-image">
|
|
<?php _e( 'Remove Image', 'gp-premium' ) ;?>
|
|
</button>
|
|
<input class="image-id" id="_meta-generate-page-header-image-id" type="hidden" name="_meta-generate-page-header-image-id" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true ) ); ?>" />
|
|
|
|
<div class="generate-page-header-set-featured-image" <?php echo $no_image_selected; ?>>
|
|
<p class="description"><?php _e( 'Or you can <a href="#">set the featured image</a>.', 'gp-premium' ); ?></p>
|
|
</div>
|
|
|
|
<div class="page-header-image-settings" <?php echo $show_image_settings; ?>>
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-link" class="example-row-title"><strong><?php _e( 'Image Link', 'gp-premium' );?></strong></label><br />
|
|
<input class="widefat" style="max-width:350px;" placeholder="http://" id="_meta-generate-page-header-image-link" type="text" name="_meta-generate-page-header-image-link" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-link', true )); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-enable-image-crop" class="example-row-title"><strong><?php _e( 'Resize Image', 'gp-premium' );?></strong></label><br />
|
|
<select name="_meta-generate-page-header-enable-image-crop" id="_meta-generate-page-header-enable-image-crop">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-enable-image-crop', true ), '' ); ?>><?php _e( 'Disable', 'gp-premium' );?></option>
|
|
<option value="enable" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-enable-image-crop', true ), 'enable' ); ?>><?php _e( 'Enable', 'gp-premium' );?></option>
|
|
</select>
|
|
</p>
|
|
|
|
<div id="crop-enabled" style="display:none">
|
|
<p><?php _e( 'These options are no longer available as of GP Premium 1.10.0.', 'gp-premium' ); ?>
|
|
<div style="display: none;">
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-width" class="example-row-title"><strong><?php _e( 'Image Width', 'gp-premium' );?></strong></label><br />
|
|
<input style="width:45px" type="text" name="_meta-generate-page-header-image-width" id="_meta-generate-page-header-image-width" value="<?php echo intval( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-width', true ) ); ?>" /><label for="_meta-generate-page-header-image-width"><span class="pixels">px</span></label>
|
|
</p>
|
|
|
|
<p style="margin-bottom:0;">
|
|
<label for="_meta-generate-page-header-image-height" class="example-row-title"><strong><?php _e( 'Image Height', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="" style="width:45px" type="text" name="_meta-generate-page-header-image-height" id="_meta-generate-page-header-image-height" value="<?php echo intval( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-height', true ) ); ?>" />
|
|
<label for="_meta-generate-page-header-image-height"><span class="pixels">px</span></label>
|
|
<span class="description" style="display:block;"><?php _e( 'Use "0" or leave blank for proportional resizing.', 'gp-premium' );?></span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="generate-content-tab" class="generate-tab-content">
|
|
|
|
<textarea style="width:100%;min-height:200px;" name="_meta-generate-page-header-content" id="_meta-generate-page-header-content"><?php echo esc_textarea( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-content', true ) ); ?></textarea>
|
|
<p class="description" style="margin:0;"><?php _e( 'HTML and shortcodes allowed.', 'gp-premium' );?></p>
|
|
|
|
<div style="margin-top:12px;">
|
|
<?php echo $content_required; ?>
|
|
<div class="page-header-column">
|
|
<p>
|
|
<input type="checkbox" name="_meta-generate-page-header-content-autop" id="_meta-generate-page-header-content-autop" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-content-autop', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-content-autop"><?php _e( 'Automatically add paragraphs', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p>
|
|
<input type="checkbox" name="_meta-generate-page-header-content-padding" id="_meta-generate-page-header-content-padding" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-content-padding', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-content-padding"><?php _e( 'Add Padding', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p>
|
|
<input class="image-background" type="checkbox" name="_meta-generate-page-header-image-background" id="_meta-generate-page-header-image-background" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-image-background"><?php _e( 'Add Background Image', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p class="parallax">
|
|
<input type="checkbox" name="_meta-generate-page-header-image-background-overlay" id="_meta-generate-page-header-image-background-overlay" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-overlay', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-image-background-overlay"><?php _e( 'Use background color as overlay', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p class="parallax">
|
|
<input type="checkbox" name="_meta-generate-page-header-image-background-fixed" id="_meta-generate-page-header-image-background-fixed" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-fixed', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-image-background-fixed"><?php _e( 'Parallax Effect', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p class="fullscreen">
|
|
<input type="checkbox" name="_meta-generate-page-header-full-screen" id="_meta-generate-page-header-full-screen" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-full-screen', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-full-screen"><?php _e( 'Full Screen', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p class="vertical-center">
|
|
<input type="checkbox" name="_meta-generate-page-header-vertical-center" id="_meta-generate-page-header-vertical-center" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-vertical-center', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-vertical-center"><?php _e( 'Vertical center content', 'gp-premium' );?></label>
|
|
</p>
|
|
</div>
|
|
|
|
<div class="page-header-column">
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-type" class="example-row-title"><strong><?php _e( 'Container', 'gp-premium' );?></strong></label><br />
|
|
<select name="_meta-generate-page-header-image-background-type" id="_meta-generate-page-header-image-background-type">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-type', true ), '' ); ?>><?php _ex( 'Contained', 'Width', 'gp-premium' );?></option>
|
|
<option value="fluid" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-type', true ), 'fluid' ); ?>><?php _e( 'Full Width', 'gp-premium' );?></option>
|
|
</select>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-type" class="example-row-title"><strong><?php _e( 'Inner Container', 'gp-premium' );?></strong></label><br />
|
|
<select name="_meta-generate-page-header-inner-container" id="_meta-generate-page-header-inner-container">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-inner-container', true ), '' ); ?>><?php _ex( 'Contained', 'Width', 'gp-premium' );?></option>
|
|
<option value="full" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-inner-container', true ), 'full' ); ?>><?php _e( 'Full Width', 'gp-premium' );?></option>
|
|
</select>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-alignment" class="example-row-title"><strong><?php _e( 'Text Alignment', 'gp-premium' );?></strong></label><br />
|
|
<select name="_meta-generate-page-header-image-background-alignment" id="_meta-generate-page-header-image-background-alignment">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-alignment', true ), '' ); ?>><?php _e( 'Left', 'gp-premium' );?></option>
|
|
<option value="center" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-alignment', true ), 'center' ); ?>><?php _e( 'Center', 'gp-premium' );?></option>
|
|
<option value="right" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-alignment', true ), 'right' ); ?>><?php _e( 'Right', 'gp-premium' );?></option>
|
|
</select>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-spacing" class="example-row-title"><strong><?php _e( 'Top & Bottom Padding', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="" style="width:45px" type="text" name="_meta-generate-page-header-image-background-spacing" id="_meta-generate-page-header-image-background-spacing" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-spacing', true ) ); ?>" />
|
|
<select name="_meta-generate-page-header-image-background-spacing-unit" id="_meta-generate-page-header-image-background-spacing-unit">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-spacing-unit', true ), '' ); ?>>px</option>
|
|
<option value="%" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-spacing-unit', true ), '%' ); ?>>%</option>
|
|
</select>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-left-right-padding" class="example-row-title"><strong><?php _e( 'Left & Right Padding', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="" style="width:45px" type="text" name="_meta-generate-page-header-left-right-padding" id="_meta-generate-page-header-left-right-padding" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-left-right-padding', true ) ); ?>" />
|
|
<select name="_meta-generate-page-header-left-right-padding-unit" id="_meta-generate-page-header-left-right-padding-unit">
|
|
<option value="" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-left-right-padding-unit', true ), '' ); ?>>px</option>
|
|
<option value="%" <?php selected( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-left-right-padding-unit', true ), '%' ); ?>>%</option>
|
|
</select>
|
|
</p>
|
|
</div>
|
|
|
|
<div class="page-header-column last">
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-color" class="example-row-title"><strong><?php _e( 'Background Color', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" data-alpha="true" style="width:45px" type="text" name="_meta-generate-page-header-image-background-color" id="_meta-generate-page-header-image-background-color" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-color', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-text-color" class="example-row-title"><strong><?php _e( 'Text Color', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-image-background-text-color" id="_meta-generate-page-header-image-background-text-color" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-text-color', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-link-color" class="example-row-title"><strong><?php _e( 'Link Color', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-image-background-link-color" id="_meta-generate-page-header-image-background-link-color" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-link-color', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-image-background-link-color-hover" class="example-row-title"><strong><?php _e( 'Link Color Hover', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-image-background-link-color-hover" id="_meta-generate-page-header-image-background-link-color-hover" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-link-color-hover', true ) ); ?>" />
|
|
</p>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="generate-video-background-tab" class="generate-tab-content generate-video-tab" style="display:none">
|
|
<?php echo $content_required; ?>
|
|
<p style="margin-top:0;">
|
|
<label for="_meta-generate-page-header-video" class="example-row-title"><strong><?php _e( 'MP4 file', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="http://" class="widefat" style="max-width:350px" id="_meta-generate-page-header-video" type="text" name="_meta-generate-page-header-video" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-video', true )); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="video" data-title="<?php _e( 'Page Header Video', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Video', 'gp-premium' ); ?>" data-prev="false">
|
|
<?php _e( 'Choose Video', 'gp-premium' ) ;?>
|
|
</button>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-video-ogv" class="example-row-title"><strong><?php _e( 'OGV file', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="http://" class="widefat" style="max-width:350px" id="_meta-generate-page-header-video-ogv" type="text" name="_meta-generate-page-header-video-ogv" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-video-ogv', true )); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="video" data-title="<?php _e( 'Page Header Video', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Video', 'gp-premium' ); ?>" data-prev="false">
|
|
<?php _e( 'Choose Video', 'gp-premium' ) ;?>
|
|
</button>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-video-webm" class="example-row-title"><strong><?php _e( 'WEBM file', 'gp-premium' );?></strong></label><br />
|
|
<input placeholder="http://" class="widefat" style="max-width:350px" id="_meta-generate-page-header-video-webm" type="text" name="_meta-generate-page-header-video-webm" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-video-webm', true )); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="video" data-title="<?php _e( 'Page Header Video', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Video', 'gp-premium' ); ?>" data-prev="false">
|
|
<?php _e( 'Choose Video', 'gp-premium' ) ;?>
|
|
</button>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-video-overlay" class="example-row-title"><strong><?php _e( 'Overlay Color', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" data-alpha="true" style="width:45px" type="text" name="_meta-generate-page-header-video-overlay" id="_meta-generate-page-header-video-overlay" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-video-overlay', true ) ); ?>" />
|
|
</p>
|
|
</div>
|
|
|
|
<?php if ( generate_page_header_logo_exists() || generate_page_header_navigation_logo_exists() ) : ?>
|
|
<div id="generate-logo-tab" class="generate-tab-content">
|
|
<?php if ( function_exists( 'generate_get_defaults' ) ) {
|
|
$generate_settings = wp_parse_args(
|
|
get_option( 'generate_settings', array() ),
|
|
generate_get_defaults()
|
|
);
|
|
|
|
if ( function_exists( 'generate_construct_logo' ) && ( '' !== $generate_settings[ 'logo' ] || get_theme_mod( 'custom_logo' ) ) ) {
|
|
?>
|
|
<p class="description" style="margin-top:0;">
|
|
<?php _e( 'Overwrite your site-wide logo/header on this page.', 'gp-premium' ); ?>
|
|
</p>
|
|
|
|
<div id="preview-image" class="generate-logo-image">
|
|
<?php if( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-logo', true ) != "") { ?>
|
|
<img class="saved-image" src="<?php echo esc_url( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-logo', true ) );?>" width="100" style="margin-bottom:12px;" />
|
|
<?php } ?>
|
|
</div>
|
|
|
|
<input style="width:350px" id="_meta-generate-page-header-logo" type="hidden" name="_meta-generate-page-header-logo" value="<?php echo esc_url(generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-logo', true )); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="image" data-title="<?php _e( 'Header / Logo', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Logo', 'gp-premium' ); ?>" data-prev="true">
|
|
<?php _e('Choose Logo', 'gp-premium' ) ;?>
|
|
</button>
|
|
<input class="image-id" id="_meta-generate-page-header-logo-id" type="hidden" name="_meta-generate-page-header-logo-id" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-logo-id', true ) ); ?>" />
|
|
|
|
<?php if( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-logo', true ) != "") {
|
|
$remove_button = 'style="display:inline-block;"';
|
|
} else {
|
|
$remove_button = 'style="display:none;"';
|
|
}
|
|
?>
|
|
<button class="generate-page-header-remove-image button" type="button" <?php echo $remove_button; ?> data-input="#_meta-generate-page-header-logo" data-input-id="_meta-generate-page-header-logo-id" data-prev=".generate-logo-image">
|
|
<?php _e( 'Remove Logo', 'gp-premium' ) ;?>
|
|
</button>
|
|
|
|
<p style="margin-bottom:20px;"></p>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
if ( function_exists( 'generate_menu_plus_get_defaults' ) ) {
|
|
$generate_menu_plus_settings = wp_parse_args(
|
|
get_option( 'generate_menu_plus_settings', array() ),
|
|
generate_menu_plus_get_defaults()
|
|
);
|
|
|
|
if ( '' !== $generate_menu_plus_settings[ 'sticky_menu_logo' ] ) {
|
|
?>
|
|
<p class="description" style="margin-top:0;">
|
|
<?php _e( 'Overwrite your navigation logo on this page.', 'gp-premium' ); ?>
|
|
</p>
|
|
|
|
<div id="preview-image" class="generate-navigation-logo-image">
|
|
<?php if( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-logo', true ) != "") { ?>
|
|
<img class="saved-image" src="<?php echo esc_url( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-logo', true ) );?>" width="100" style="margin-bottom:12px;" />
|
|
<?php } ?>
|
|
</div>
|
|
|
|
<input style="width:350px" id="_meta-generate-page-header-navigation-logo" type="hidden" name="_meta-generate-page-header-navigation-logo" value="<?php echo esc_url( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-logo', true ) ); ?>" />
|
|
<button class="generate-upload-file button" type="button" data-type="image" data-title="<?php _e( 'Navigation Logo', 'gp-premium' );?>" data-insert="<?php _e( 'Insert Logo', 'page-header'); ?>" data-prev="true">
|
|
<?php _e( 'Choose Logo', 'gp-premium' ) ;?>
|
|
</button>
|
|
<input class="image-id" id="_meta-generate-page-header-navigation-logo-id" type="hidden" name="_meta-generate-page-header-navigation-logo-id" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-logo-id', true ) ); ?>" />
|
|
|
|
<?php if ( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-logo', true ) != "" ) {
|
|
$remove_button = 'style="display:inline-block;"';
|
|
} else {
|
|
$remove_button = 'style="display:none;"';
|
|
}
|
|
?>
|
|
|
|
<button class="generate-page-header-remove-image button" type="button" <?php echo $remove_button; ?> data-input="#_meta-generate-page-header-navigation-logo" data-input-id="_meta-generate-page-header-navigation-logo-id" data-prev=".generate-navigation-logo-image">
|
|
<?php _e( 'Remove Logo', 'gp-premium' ) ;?>
|
|
</button>
|
|
<?php }
|
|
}
|
|
?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<div id="generate-advanced-tab" class="generate-tab-content" style="display:none">
|
|
<?php echo $content_required; ?>
|
|
<p style="margin-top:0;">
|
|
<input type="checkbox" name="_meta-generate-page-header-combine" id="_meta-generate-page-header-combine" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-combine', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-combine"><?php _e( 'Merge with site header', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<div class="combination-options">
|
|
<p class="absolute-position">
|
|
<input type="checkbox" name="_meta-generate-page-header-absolute-position" id="_meta-generate-page-header-absolute-position" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-absolute-position', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-absolute-position"><?php _e( 'Place content behind header (sliders etc..)', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-site-title" class="example-row-title"><?php _e( 'Site Title', 'gp-premium' );?></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-site-title" id="_meta-generate-page-header-site-title" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-site-title', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-site-tagline" class="example-row-title"><?php _e( 'Site Tagline', 'gp-premium' );?></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-site-tagline" id="_meta-generate-page-header-site-tagline" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-site-tagline', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<input type="checkbox" name="_meta-generate-page-header-transparent-navigation" id="_meta-generate-page-header-transparent-navigation" value="yes" <?php checked( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-transparent-navigation', true ), 'yes' ); ?> />
|
|
<label for="_meta-generate-page-header-transparent-navigation"><?php _e( 'Custom Navigation Colors', 'gp-premium' );?></label>
|
|
</p>
|
|
|
|
<div class="navigation-colors">
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-background" class="example-row-title"><strong><?php _e( 'Navigation Background', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" data-alpha="true" style="width:45px" type="text" name="_meta-generate-page-header-navigation-background" id="_meta-generate-page-header-navigation-background" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-background', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-text" class="example-row-title"><strong><?php _e( 'Navigation Text', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-navigation-text" id="_meta-generate-page-header-navigation-text" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-text', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-background-hover" class="example-row-title"><strong><?php _e( 'Navigation Background Hover', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" data-alpha="true" style="width:45px" type="text" name="_meta-generate-page-header-navigation-background-hover" id="_meta-generate-page-header-navigation-background-hover" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-background-hover', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-text-hover" class="example-row-title"><strong><?php _e( 'Navigation Text Hover', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-navigation-text-hover" id="_meta-generate-page-header-navigation-text-hover" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-text-hover', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-background-current" class="example-row-title"><strong><?php _e( 'Navigation Background Current', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" data-alpha="true" style="width:45px" type="text" name="_meta-generate-page-header-navigation-background-current" id="_meta-generate-page-header-navigation-background-current" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-background-current', true ) ); ?>" />
|
|
</p>
|
|
|
|
<p>
|
|
<label for="_meta-generate-page-header-navigation-text-current" class="example-row-title"><strong><?php _e( 'Navigation Text Current', 'gp-premium' );?></strong></label><br />
|
|
<input class="color-picker" style="width:45px" type="text" name="_meta-generate-page-header-navigation-text-current" id="_meta-generate-page-header-navigation-text-current" value="<?php echo esc_attr( generate_page_header_get_post_meta( get_the_ID(), '_meta-generate-page-header-navigation-text-current', true ) ); ?>" />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
if ( ! function_exists( 'save_generate_page_header_meta' ) ) {
|
|
add_action( 'save_post', 'save_generate_page_header_meta' );
|
|
/**
|
|
* Save our settings
|
|
*/
|
|
function save_generate_page_header_meta($post_id) {
|
|
$is_autosave = wp_is_post_autosave( $post_id );
|
|
$is_revision = wp_is_post_revision( $post_id );
|
|
$is_valid_nonce = ( isset( $_POST[ 'generate_page_header_nonce' ] ) && wp_verify_nonce( $_POST[ 'generate_page_header_nonce' ], basename( __FILE__ ) ) ) ? true : false;
|
|
|
|
// Exits script depending on save status
|
|
if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
|
|
return;
|
|
}
|
|
|
|
// Check that the logged in user has permission to edit this post
|
|
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
|
return $post_id;
|
|
}
|
|
|
|
$options = array(
|
|
'_meta-generate-page-header-content' => 'FILTER_CONTENT',
|
|
'_meta-generate-page-header-image' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-image-id' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-image-link' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-enable-image-crop' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-crop' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-width' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-image-height' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-image-background-type' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-inner-container' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-alignment' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-spacing' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-image-background-spacing-unit' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-left-right-padding' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-left-right-padding-unit' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-color' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-text-color' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-link-color' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-link-color-hover' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-background' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-text' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-background-hover' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-text-hover' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-background-current' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-navigation-text-current' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-site-title' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-site-tagline' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-video' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-video-ogv' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-video-webm' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-video-overlay' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-content-autop' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-content-padding' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-full-screen' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-vertical-center' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-fixed' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-image-background-overlay' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-combine' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-absolute-position' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-transparent-navigation' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-add-to-excerpt' => 'FILTER_SANITIZE_STRING',
|
|
'_meta-generate-page-header-logo' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-logo-id' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
'_meta-generate-page-header-navigation-logo' => 'FILTER_SANITIZE_URL',
|
|
'_meta-generate-page-header-navigation-logo-id' => 'FILTER_SANITIZE_NUMBER_INT',
|
|
);
|
|
|
|
if ( ! defined( 'GENERATE_LAYOUT_META_BOX' ) ) {
|
|
$options[ '_generate-select-page-header' ] = 'FILTER_SANITIZE_NUMBER_INT';
|
|
}
|
|
|
|
foreach ( $options as $key => $sanitize ) {
|
|
if ( 'FILTER_SANITIZE_STRING' == $sanitize ) {
|
|
$value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
|
|
} elseif ( 'FILTER_SANITIZE_URL' == $sanitize ) {
|
|
$value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_URL );
|
|
} elseif ( 'FILTER_SANITIZE_NUMBER_INT' == $sanitize ) {
|
|
$value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_NUMBER_INT );
|
|
} elseif ( 'FILTER_CONTENT' == $sanitize && isset( $_POST[ $key ] ) ) {
|
|
if ( current_user_can( 'unfiltered_html' ) ) {
|
|
$value = $_POST[ $key ];
|
|
} else {
|
|
$value = wp_kses_post( $_POST[ $key ] );
|
|
}
|
|
} else {
|
|
$value = filter_input( INPUT_POST, $key, FILTER_DEFAULT );
|
|
}
|
|
|
|
if ( $value ) {
|
|
update_post_meta( $post_id, $key, $value );
|
|
} else {
|
|
delete_post_meta( $post_id, $key );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_action( 'add_meta_boxes', 'generate_page_header_tags_add_meta_box' );
|
|
/**
|
|
* Add our Template Tags meta box.
|
|
*
|
|
* @param WP_Post $post Current post object.
|
|
*
|
|
* @since 1.4
|
|
*/
|
|
function generate_page_header_tags_add_meta_box( $post ) {
|
|
add_meta_box( 'generate_page_header_tags', __( 'Template Tags', 'gp-premium' ), 'generate_page_header_tags_do_meta_box', 'generate_page_header', 'side', 'low' );
|
|
}
|
|
|
|
/**
|
|
* Meta box display callback.
|
|
*
|
|
* @param WP_Post $post Current post object.
|
|
*
|
|
* @since 1.4
|
|
*/
|
|
function generate_page_header_tags_do_meta_box( $post ) {
|
|
?>
|
|
<input type="text" readonly="readonly" value="{{post_title}}" />
|
|
<p class="decription" style="margin-top:0;opacity:0.8;font-size:85%;"><?php _e( 'The content title of the current post/taxonomy.', 'gp-premium' ); ?></p>
|
|
|
|
<input type="text" readonly="readonly" value="{{post_date}}" />
|
|
<p class="decription" style="margin-top:0;opacity:0.8;font-size:85%;"><?php _e( 'The published date of the current post.', 'gp-premium' ); ?></p>
|
|
|
|
<input type="text" readonly="readonly" value="{{post_author}}" />
|
|
<p class="decription" style="margin-top:0;opacity:0.8;font-size:85%;"><?php _e( 'The author of the current post.', 'gp-premium' ); ?></p>
|
|
|
|
<input type="text" readonly="readonly" value="{{post_terms.taxonomy}}" />
|
|
<p class="decription" style="margin-top:0;opacity:0.8;font-size:85%;"><?php _e( 'The terms attached to the chosen taxonomy (category, post_tag, product_cat).', 'gp-premium' ); ?></p>
|
|
|
|
<input type="text" readonly="readonly" value='{{custom_field.name}}' />
|
|
<p class="decription" style="margin-top:0;opacity:0.8;font-size:85%;"><?php _e( 'Custom post meta. Replace "name" with the name of your custom field.', 'gp-premium' ); ?></p>
|
|
<?php
|
|
}
|
|
|
|
add_action( 'generate_layout_meta_box_content', 'generate_premium_page_header_meta_box_options' );
|
|
/**
|
|
* Add the meta box options to the Layout meta box in the new GP
|
|
*
|
|
* @since 1.4
|
|
*/
|
|
function generate_premium_page_header_meta_box_options( $stored_meta ) {
|
|
$stored_meta = (array) get_post_meta( get_the_ID() );
|
|
$stored_meta['_generate-select-page-header'][0] = ( isset( $stored_meta['_generate-select-page-header'][0] ) ) ? $stored_meta['_generate-select-page-header'][0] : '';
|
|
?>
|
|
<div id="generate-layout-page-header" style="display: none;">
|
|
<?php
|
|
$page_headers = get_posts(array(
|
|
'posts_per_page' => -1,
|
|
'orderby' => 'title',
|
|
'post_type' => 'generate_page_header',
|
|
'suppress_filters' => false,
|
|
));
|
|
|
|
if ( count( $page_headers ) > 0 ) :
|
|
?>
|
|
<p style="margin-top:0;">
|
|
<select name="_generate-select-page-header" id="_generate-select-page-header">
|
|
<option value="" <?php selected( $stored_meta['_generate-select-page-header'][0], '' ); ?>></option>
|
|
<?php
|
|
foreach( $page_headers as $header ) {
|
|
printf( '<option value="%1$s" %2$s>%3$s</option>',
|
|
$header->ID,
|
|
selected( $stored_meta['_generate-select-page-header'][0], $header->ID ),
|
|
$header->post_title
|
|
);
|
|
}
|
|
?>
|
|
</select>
|
|
</p>
|
|
<?php else : ?>
|
|
<p>
|
|
<?php
|
|
printf( __( 'No Page Headers found. Want to <a href="%1$s" target="_blank">create one</a>?', 'gp-premium' ),
|
|
esc_url( admin_url( 'post-new.php?post_type=generate_page_header' ) )
|
|
);
|
|
?>
|
|
</p>
|
|
<?php endif; ?>
|
|
</div>
|
|
<?php
|
|
}
|
|
|
|
add_action( 'generate_layout_meta_box_menu_item', 'generate_premium_page_header_menu_item' );
|
|
|
|
function generate_premium_page_header_menu_item() {
|
|
?>
|
|
<li class="page-heade-meta-menu-item"><a href="#generate-layout-page-header"><?php _e( 'Page Header', 'gp-premium' ); ?></a></li>
|
|
<?php
|
|
}
|
|
|
|
add_action( 'generate_layout_meta_box_save', 'generate_premium_save_page_header_meta' );
|
|
/**
|
|
* Save the Page Header meta box values
|
|
*
|
|
* @since 1.4
|
|
*/
|
|
function generate_premium_save_page_header_meta( $post_id ) {
|
|
$page_header_key = '_generate-select-page-header';
|
|
$page_header_value = filter_input( INPUT_POST, $page_header_key, FILTER_SANITIZE_NUMBER_INT );
|
|
|
|
if ( $page_header_value ) {
|
|
update_post_meta( $post_id, $page_header_key, $page_header_value );
|
|
} else {
|
|
delete_post_meta( $post_id, $page_header_key );
|
|
}
|
|
}
|