section using the Theme Customizer
* @since 0.1
*/
if ( !function_exists( 'generate_page_header_css' ) ) :
function generate_page_header_css()
{
$options = get_option( 'generate_page_header_options', '' );
global $post;
if ( is_home() ) :
$image_background = ( !empty( $options['page_header_image_background'] ) ) ? $options['page_header_image_background'] : '';
$image_background_type = ( !empty( $options['page_header_container_type'] ) ) ? $options['page_header_container_type'] : '';
$image_background_fixed = ( !empty( $options['page_header_add_parallax'] ) ) ? $options['page_header_add_parallax'] : '';
$image_background_alignment = ( !empty( $options['page_header_text_alignment'] ) ) ? $options['page_header_text_alignment'] : '';
$image_background_spacing = ( !empty( $options['page_header_padding'] ) ) ? $options['page_header_padding'] : '';
$image_background_color = ( !empty( $options['page_header_background_color'] ) ) ? $options['page_header_background_color'] : '';
$image_background_text_color = ( !empty( $options['page_header_text_color'] ) ) ? $options['page_header_text_color'] : '';
$image_background_link_color = ( !empty( $options['page_header_link_color'] ) ) ? $options['page_header_link_color'] : '';
$image_background_link_color_hover = ( !empty( $options['page_header_link_color_hover'] ) ) ? $options['page_header_link_color_hover'] : '';
$page_header_image_custom = ( !empty( $options['page_header_image'] ) ) ? $options['page_header_image'] : '';
else :
$image_background = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background', true ) : '';
$image_background_type = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-type', true ) : '';
$image_background_fixed = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-fixed', true ) : '';
$image_background_alignment = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-alignment', true ) : '';
$image_background_spacing = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-spacing', true ) : '';
$image_background_color = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-color', true ) : '';
$image_background_text_color = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-text-color', true ) : '';
$image_background_link_color = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-link-color', true ) : '';
$image_background_link_color_hover = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image-background-link-color-hover', true ) : '';
$page_header_image_custom = ( isset( $post ) ) ? get_post_meta( $post->ID, '_meta-generate-page-header-image', true ) : '';
endif;
$space = ' ';
// Start the magic
$visual_css = array (
// if fluid
'.generate-content-header' => array(
'background-color' => ( 'fluid' == $image_background_type && !empty( $image_background_color ) ) ? $image_background_color : null,
'background-image' => ( 'fluid' == $image_background_type && !empty( $image_background ) ) ? 'url(' . $page_header_image_custom . ')' : null,
'background-size' => ( 'fluid' == $image_background_type && !empty( $image_background ) ) ? 'cover' : null,
'background-attachment' => ( 'fluid' == $image_background_type && !empty( $image_background ) && !empty( $image_background_fixed ) ) ? 'fixed' : null,
'background-position' => ( 'fluid' == $image_background_type && !empty( $image_background ) && !empty( $image_background_fixed ) ) ? 'center top' : null,
),
'.separate-containers .generate-content-header' => array(
'margin-top' => ( 'fluid' == $image_background_type ) ? '0px' : null,
),
'.inside-page-header' => array(
'background-color' => ( !empty( $image_background ) || !empty( $image_background_color ) ) ? 'transparent' : null,
'color' => ( !empty( $image_background_text_color ) ) ? $image_background_text_color : null,
),
// if contained
'.inside-content-header' => array(
'background-image' => ( 'contained' == $image_background_type && !empty( $image_background ) ) ? 'url(' . $page_header_image_custom . ')' : null,
'background-color' => ( 'contained' == $image_background_type && !empty( $image_background_color ) ) ? $image_background_color : null,
'background-size' => ( 'contained' == $image_background_type && !empty( $image_background ) ) ? 'cover' : null,
'background-attachment' => ( 'contained' == $image_background_type && !empty( $image_background ) && !empty( $image_background_fixed ) ) ? 'fixed' : null,
'background-position' => ( 'contained' == $image_background_type && !empty( $image_background ) && !empty( $image_background_fixed ) ) ? 'center top' : null,
'text-align' => ( !empty( $image_background_alignment ) ) ? $image_background_alignment : null,
'padding-top' => ( !empty( $image_background_spacing ) ) ? $image_background_spacing . 'px' : null,
'padding-bottom' => ( !empty( $image_background_spacing ) ) ? $image_background_spacing . 'px' : null,
'color' => ( !empty( $image_background_text_color ) ) ? $image_background_text_color : null,
),
'.inside-content-header a, .inside-content-header a:visited' => array(
'color' => ( !empty( $image_background_link_color ) ) ? $image_background_link_color : null,
),
'.inside-content-header a:hover, .inside-content-header a:active' => array(
'color' => ( !empty( $image_background_link_color_hover ) ) ? $image_background_link_color_hover : null,
),
'.separate-containers .inside-article .page-header-below-title, .one-container .inside-article .page-header-below-title' => array(
'margin-top' => '2em'
),
'.inside-article .page-header-post-image' => array(
'float' => 'none',
'margin-right' => '0px'
)
);
// Output the above CSS
$output = '';
foreach($visual_css as $k => $properties) {
if(!count($properties))
continue;
$temporary_output = $k . ' {';
$elements_added = 0;
foreach($properties as $p => $v) {
if(empty($v))
continue;
$elements_added++;
$temporary_output .= $p . ': ' . $v . '; ';
}
$temporary_output .= "}";
if($elements_added > 0)
$output .= $temporary_output;
}
$output = str_replace(array("\r", "\n"), '', $output);
return $output;
}
/**
* Enqueue scripts and styles
*/
add_action( 'wp_enqueue_scripts', 'generate_page_header_scripts', 100 );
function generate_page_header_scripts() {
wp_add_inline_style( 'generate-style', generate_page_header_css() );
}
endif;
if ( ! function_exists( 'generate_page_header_area' ) ) :
function generate_page_header_area($image_class, $content_class)
{
// Don't run the function unless we're on a page it applies to
if ( ! is_singular() || is_attachment() )
return;
global $post;
$featured_image = get_post_thumbnail_id( $post->ID, 'full' );
$page_header_image_id = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true );
$page_header_image_custom = get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true );
// Get the ID of the image
$image_id = null;
if ( ! empty( $featured_image ) && empty( $page_header_image_custom ) ) :
// Using featured image, and not the Page Header metabox, so we already have the ID
$image_id = $featured_image;
elseif ( ! empty( $page_header_image_custom ) && ! empty( $page_header_image_id ) ) :
// We have a metabox URL and ID
$image_id = $page_header_image_id;
elseif ( empty( $page_header_image_id ) && ! empty( $page_header_image_custom ) ) :
// We don't have the image ID of our metabox image, but we do have the URL
$image_id = generate_get_attachment_id_by_url( esc_url( $page_header_image_custom ) );
endif;
// Get the other page header options
$page_header_image_link = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-link', true );
$page_header_content = get_post_meta( get_the_ID(), '_meta-generate-page-header-content', true );
$page_header_content_autop = get_post_meta( get_the_ID(), '_meta-generate-page-header-content-autop', true );
$page_header_content_padding = get_post_meta( get_the_ID(), '_meta-generate-page-header-content-padding', true );
$page_header_crop = get_post_meta( get_the_ID(), '_meta-generate-page-header-enable-image-crop', true );
$page_header_parallax = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-background-fixed', true );
$page_header_full_screen = get_post_meta( get_the_ID(), '_meta-generate-page-header-full-screen', true );
$page_header_vertical_center = get_post_meta( get_the_ID(), '_meta-generate-page-header-vertical-center', true );
$page_header_image_width = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-width', true );
$page_header_image_height = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-height', true );
// Parallax variable
$parallax = ( ! empty( $page_header_parallax ) ) ? ' parallax-enabled' : '';
// Full screen variable
$full_screen = ( ! empty( $page_header_full_screen ) ) ? ' fullscreen-enabled' : '';
// Vertical center variable
$vertical_center = ( ! empty( $page_header_vertical_center ) ) ? ' vertical-center-enabled' : '';
// Set our widths and height if crop is enabled
if ( 'enable' == $page_header_crop ) :
$image_width = ( ! empty( $page_header_image_width ) ) ? $page_header_image_width : 1200;
$image_height = ( '0' == $page_header_image_height ) ? '9999' : $page_header_image_height;
else :
$image_width = '';
$image_height = '';
endif;
// If we have a link set, let's build it
if ( ! empty( $page_header_image_link ) ) :
$start_link = '';
$end_link = '';
else :
$start_link = '';
$end_link = '';
endif;
// If an image is set and no content is set
if ( '' == $page_header_content && ! empty( $image_id ) ) :
echo '
';
endif;
// If content is set, show it
if ( '' !== $page_header_content && false !== $page_header_content ) :
echo '';
endif;
}
endif;
if ( ! function_exists( 'generate_blog_page_header_area' ) ) :
function generate_blog_page_header_area($image_class, $content_class)
{
// Don't run the function unless we're on the blog
if ( ! is_home() )
return;
$options = get_option( 'generate_page_header_options' );
$page_header_image = ( !empty( $options['page_header_image'] ) ) ? $options['page_header_image'] : '';
$page_header_image_link = ( !empty( $options['page_header_url'] ) ) ? $options['page_header_url'] : '';
$page_header_content = ( !empty( $options['page_header_content'] ) ) ? $options['page_header_content'] : '';
$page_header_content_autop = ( !empty( $options['page_header_add_paragraphs'] ) ) ? $options['page_header_add_paragraphs'] : '';
$page_header_content_padding = ( !empty( $options['page_header_add_padding'] ) ) ? $options['page_header_add_padding'] : '';
$page_header_crop = ( !empty( $options['page_header_hard_crop'] ) ) ? $options['page_header_hard_crop'] : '';
$page_header_parallax = ( !empty( $options['page_header_add_parallax'] ) ) ? $options['page_header_add_parallax'] : '';
$page_header_full_screen = ( !empty( $options['page_header_full_screen'] ) ) ? $options['page_header_full_screen'] : '';
$page_header_vertical_center = ( !empty( $options['page_header_vertical_center'] ) ) ? $options['page_header_vertical_center'] : '';
if ( ! empty( $page_header_parallax ) ) :
$parallax = ' parallax-enabled';
else :
$parallax = '';
endif;
if ( ! empty( $page_header_full_screen ) ) :
$full_screen = ' fullscreen-enabled';
else :
$full_screen = '';
endif;
if ( ! empty( $page_header_vertical_center ) ) :
$vertical_center = ' vertical-center-enabled';
else :
$vertical_center = '';
endif;
if ( 'enable' == $page_header_crop ) :
//$page_header_crop_position = $options['page_header_image_crop_position'];
$page_header_image_width = $options['page_header_image_width'];
if ( !empty( $page_header_image_width ) ) :
$page_header_image_width = $options['page_header_image_width'];
else :
$page_header_image_width = 1200;
endif;
$page_header_image_height = ( isset( $options['page_header_image_height'] ) ) ? $options['page_header_image_height'] : '0';
// If no height is set, set it to something stupid so WP ignores it
if ( '0' == $page_header_image_height ) :
$page_header_image_height = '9999';
endif;
else :
//$page_header_crop_position = '';
$page_header_image_width = '';
$page_header_image_height = '';
endif;
// If we have a link set, let's build it
if ( ! empty( $page_header_image_link ) ) :
$start_link = '';
$end_link = '';
else :
$start_link = '';
$end_link = '';
endif;
// if ( 'c' == $page_header_crop_position ) :
// $crop = array( 0.5, 0.5 );
// elseif ( 'tl' == $page_header_crop_position ) :
// $crop = array( 0.0, 0.0 );
// elseif ( 'tr' == $page_header_crop_position ) :
// $crop = array( 1.0, 0.0 );
// elseif ( 'bl' == $page_header_crop_position ) :
// $crop = array( 0.0, 1.0 );
// elseif ( 'br' == $page_header_crop_position ) :
// $crop = array( 1.0, 1.0 );
// elseif ( 'l' == $page_header_crop_position ) :
// $crop = array( 0.0, 0.5 );
// elseif ( 'r' == $page_header_crop_position ) :
// $crop = array( 1.0, 0.5 );
// endif;
// If an image is set, no content is set and hard crop is enabled, show it
if ( '' == $page_header_content && '' !== $page_header_image && 'enable' == $page_header_crop ) :
echo '';
endif;
// If an image is set with no hard cropping and no content is set, show it
if ( '' == $page_header_content && '' !== $page_header_image && false !== $page_header_image && 'enable' !== $page_header_crop ) :
echo '';
endif;
// If content is set, show it
if ( '' !== $page_header_content && false !== $page_header_content ) :
echo '';
endif;
}
endif;
/**
* Prints the Post Image to post excerpts
*/
if ( ! function_exists( 'generate_page_header_post_image' ) ) :
add_action( 'generate_after_entry_header', 'generate_page_header_post_image' );
function generate_page_header_post_image()
{
global $post;
// If using the featured image, stop
if ( has_post_thumbnail() )
return;
$page_header_add_to_excerpt = get_post_meta( get_the_ID(), '_meta-generate-page-header-add-to-excerpt', true );
if ( $page_header_add_to_excerpt == '' )
return;
if ( 'post' == get_post_type() && !is_single() ) {
global $post;
$page_header_image_id = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-id', true );
$page_header_image_custom = get_post_meta( get_the_ID(), '_meta-generate-page-header-image', true );
// Get the ID of the image
$image_id = null;
if ( ! empty( $page_header_image_custom ) && ! empty( $page_header_image_id ) ) :
// We have a metabox URL and ID
$image_id = $page_header_image_id;
elseif ( empty( $page_header_image_id ) && ! empty( $page_header_image_custom ) ) :
// We don't have the image ID of our metabox image, but we do have the URL
$image_id = generate_get_attachment_id_by_url( esc_url( $page_header_image_custom ) );
endif;
$page_header_image_link = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-link', true );
$page_header_content = get_post_meta( get_the_ID(), '_meta-generate-page-header-content', true );
$page_header_content_autop = get_post_meta( get_the_ID(), '_meta-generate-page-header-content-autop', true );
$page_header_content_padding = get_post_meta( get_the_ID(), '_meta-generate-page-header-content-padding', true );
$page_header_crop = get_post_meta( get_the_ID(), '_meta-generate-page-header-enable-image-crop', true );
$page_header_image_width = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-width', true );
$page_header_image_height = get_post_meta( get_the_ID(), '_meta-generate-page-header-image-height', true );
// Set our widths and height if crop is enabled
if ( 'enable' == $page_header_crop ) :
$image_width = ( ! empty( $page_header_image_width ) ) ? $page_header_image_width : 1200;
$image_height = ( '0' == $page_header_image_height ) ? '9999' : $page_header_image_height;
else :
$image_width = '';
$image_height = '';
endif;
// If we have a link set, let's build it
if ( ! empty( $page_header_image_link ) ) :
$start_link = '';
$end_link = '';
else :
$start_link = '';
$end_link = '';
endif;
// If an image is set and no content is set
if ( '' == $page_header_content && ! empty( $image_id ) ) :
echo '';
endif;
// If content is set, show it
if ( '' !== $page_header_content ) :
echo '';
endif;
}
}
endif;
if ( ! function_exists( 'generate_page_header' ) ) :
/**
* Add page header above content
* @since 0.3
*/
add_action('generate_after_header','generate_page_header', 10);
function generate_page_header()
{
$generate_page_header_settings = wp_parse_args(
get_option( 'generate_page_header_settings', array() ),
generate_page_header_get_defaults()
);
if ( '' == $generate_page_header_settings['page_header_position'] ) :
$generate_page_header_settings['page_header_position'] = 'above-content';
endif;
if ( is_page() && 'above-content' == $generate_page_header_settings['page_header_position'] ) :
generate_page_header_area('page-header-image', 'page-header-content');
endif;
if ( is_home() ) :
generate_blog_page_header_area('page-header-image', 'page-header-content');
endif;
}
endif;
if ( ! function_exists( 'generate_page_header_inside' ) ) :
/**
* Add page header inside content
* @since 0.3
*/
add_action('generate_before_content','generate_page_header_inside', 10);
function generate_page_header_inside()
{
$generate_page_header_settings = wp_parse_args(
get_option( 'generate_page_header_settings', array() ),
generate_page_header_get_defaults()
);
if ( '' == $generate_page_header_settings['page_header_position'] ) :
$generate_page_header_settings['page_header_position'] = 'above-content';
endif;
if ( is_page() && 'inside-content' == $generate_page_header_settings['page_header_position'] ) :
generate_page_header_area('page-header-image', 'page-header-content');
endif;
}
endif;
if ( ! function_exists( 'generate_page_header_single' ) ) :
/**
* Add post header inside content
* @since 0.3
*/
add_action('generate_before_content','generate_page_header_single', 10);
function generate_page_header_single()
{
$generate_page_header_settings = wp_parse_args(
get_option( 'generate_page_header_settings', array() ),
generate_page_header_get_defaults()
);
if ( '' == $generate_page_header_settings['post_header_position'] ) :
$generate_page_header_settings['post_header_position'] = 'inside-content';
endif;
if ( is_single() && 'inside-content' == $generate_page_header_settings['post_header_position'] ) :
generate_page_header_area('page-header-image-single', 'page-header-content-single');
endif;
}
endif;
if ( ! function_exists( 'generate_page_header_single_below_title' ) ) :
/**
* Add post header below title
* @since 0.3
*/
add_action('generate_after_entry_header','generate_page_header_single_below_title', 10);
function generate_page_header_single_below_title()
{
$generate_page_header_settings = wp_parse_args(
get_option( 'generate_page_header_settings', array() ),
generate_page_header_get_defaults()
);
if ( is_single() && 'below-title' == $generate_page_header_settings['post_header_position'] ) :
generate_page_header_area('page-header-image-single page-header-below-title', 'page-header-content-single page-header-below-title');
endif;
}
endif;
if ( ! function_exists( 'generate_page_header_single_above' ) ) :
/**
* Add post header above content
* @since 0.3
*/
add_action('generate_after_header','generate_page_header_single_above', 10);
function generate_page_header_single_above()
{
$generate_page_header_settings = wp_parse_args(
get_option( 'generate_page_header_settings', array() ),
generate_page_header_get_defaults()
);
if ( '' == $generate_page_header_settings['post_header_position'] ) :
$generate_page_header_settings['post_header_position'] = 'inside-content';
endif;
if ( is_single() && 'above-content' == $generate_page_header_settings['post_header_position'] ) :
generate_page_header_area('page-header-image-single', 'page-header-content-single');
endif;
}
endif;
if ( ! function_exists( 'add_generate_page_header_meta_box' ) ) :
/**
*
*
* Generate the page header metabox
* @since 0.1
*
*
*/
add_action('add_meta_boxes', 'add_generate_page_header_meta_box');
function add_generate_page_header_meta_box() {
$post_types = get_post_types();
foreach ($post_types as $type) {
add_meta_box
(
'generate_page_header_meta_box', // $id
__('Page Header','generate-page-header'), // $title
'show_generate_page_header_meta_box', // $callback
$type, // $page
'normal', // $context
'high' // $priority
);
}
}
endif;
if ( ! function_exists( 'show_generate_page_header_meta_box' ) ) :
/**
* Outputs the content of the metabox
*/
function show_generate_page_header_meta_box( $post ) {
wp_nonce_field( basename( __FILE__ ), 'generate_page_header_nonce' );
$stored_meta = get_post_meta( $post->ID );
// Set defaults to avoid PHP notices
if ( isset($stored_meta['_meta-generate-page-header-image'][0]) ) :
$stored_meta['_meta-generate-page-header-image'][0] = $stored_meta['_meta-generate-page-header-image'][0];
else :
$stored_meta['_meta-generate-page-header-image'][0] = '';
endif;
if ( 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-image-id'][0];
else :
$stored_meta['_meta-generate-page-header-image-id'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-link'][0]) ) :
$stored_meta['_meta-generate-page-header-image-link'][0] = $stored_meta['_meta-generate-page-header-image-link'][0];
else :
$stored_meta['_meta-generate-page-header-image-link'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-enable-image-crop'][0]) ) :
$stored_meta['_meta-generate-page-header-enable-image-crop'][0] = $stored_meta['_meta-generate-page-header-enable-image-crop'][0];
else :
$stored_meta['_meta-generate-page-header-enable-image-crop'][0] = '';
endif;
// if ( isset($stored_meta['_meta-generate-page-header-image-crop'][0]) ) :
// $stored_meta['_meta-generate-page-header-image-crop'][0] = $stored_meta['_meta-generate-page-header-image-crop'][0];
// else :
// $stored_meta['_meta-generate-page-header-image-crop'][0] = '';
// endif;
if ( isset($stored_meta['_meta-generate-page-header-image-width'][0]) ) :
$stored_meta['_meta-generate-page-header-image-width'][0] = $stored_meta['_meta-generate-page-header-image-width'][0];
else :
$stored_meta['_meta-generate-page-header-image-width'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-height'][0]) ) :
$stored_meta['_meta-generate-page-header-image-height'][0] = $stored_meta['_meta-generate-page-header-image-height'][0];
else :
$stored_meta['_meta-generate-page-header-image-height'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-content'][0]) ) :
$stored_meta['_meta-generate-page-header-content'][0] = $stored_meta['_meta-generate-page-header-content'][0];
else :
$stored_meta['_meta-generate-page-header-content'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-content-autop'][0]) ) :
$stored_meta['_meta-generate-page-header-content-autop'][0] = $stored_meta['_meta-generate-page-header-content-autop'][0];
else :
$stored_meta['_meta-generate-page-header-content-autop'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-content-padding'][0]) ) :
$stored_meta['_meta-generate-page-header-content-padding'][0] = $stored_meta['_meta-generate-page-header-content-padding'][0];
else :
$stored_meta['_meta-generate-page-header-content-padding'][0] = '';
endif;
if ( 'post' == get_post_type() && !is_single() ) {
if ( isset($stored_meta['_meta-generate-page-header-add-to-excerpt'][0]) ) :
$stored_meta['_meta-generate-page-header-add-to-excerpt'][0] = $stored_meta['_meta-generate-page-header-add-to-excerpt'][0];
else :
$stored_meta['_meta-generate-page-header-add-to-excerpt'][0] = '';
endif;
}
if ( isset($stored_meta['_meta-generate-page-header-image-background'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background'][0] = $stored_meta['_meta-generate-page-header-image-background'][0];
else :
$stored_meta['_meta-generate-page-header-image-background'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-type'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-type'][0] = $stored_meta['_meta-generate-page-header-image-background-type'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-type'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-fixed'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-fixed'][0] = $stored_meta['_meta-generate-page-header-image-background-fixed'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-fixed'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-full-screen'][0]) ) :
$stored_meta['_meta-generate-page-header-full-screen'][0] = $stored_meta['_meta-generate-page-header-full-screen'][0];
else :
$stored_meta['_meta-generate-page-header-full-screen'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-vertical-center'][0]) ) :
$stored_meta['_meta-generate-page-header-vertical-center'][0] = $stored_meta['_meta-generate-page-header-vertical-center'][0];
else :
$stored_meta['_meta-generate-page-header-vertical-center'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-alignment'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-alignment'][0] = $stored_meta['_meta-generate-page-header-image-background-alignment'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-alignment'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-spacing'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-spacing'][0] = $stored_meta['_meta-generate-page-header-image-background-spacing'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-spacing'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-text-color'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-text-color'][0] = $stored_meta['_meta-generate-page-header-image-background-text-color'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-text-color'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-color'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-color'][0] = $stored_meta['_meta-generate-page-header-image-background-color'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-color'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-link-color'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-link-color'][0] = $stored_meta['_meta-generate-page-header-image-background-link-color'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-link-color'][0] = '';
endif;
if ( isset($stored_meta['_meta-generate-page-header-image-background-link-color-hover'][0]) ) :
$stored_meta['_meta-generate-page-header-image-background-link-color-hover'][0] = $stored_meta['_meta-generate-page-header-image-background-link-color-hover'][0];
else :
$stored_meta['_meta-generate-page-header-image-background-link-color-hover'][0] = '';
endif;
?>
'above-content',
'post_header_position' => 'inside-content'
);
return apply_filters( 'generate_page_header_option_defaults', $generate_page_header_defaults );
}
endif;
if ( ! function_exists( 'generate_page_header_customize_register' ) ) :
add_action( 'customize_register', 'generate_page_header_customize_register' );
function generate_page_header_customize_register( $wp_customize ) {
$defaults = generate_page_header_get_defaults();
// Add Header Colors section
$wp_customize->add_section(
// ID
'page_header_section',
// Arguments array
array(
'title' => __( 'Page Header', 'generate-page-header' ),
'capability' => 'edit_theme_options',
'priority' => 50
)
);
// Add Layout setting
$wp_customize->add_setting(
// ID
'generate_page_header_settings[page_header_position]',
// Arguments array
array(
'default' => $defaults['page_header_position'],
'type' => 'option'
)
);
// Add Layout control
$wp_customize->add_control(
// ID
'page_header_control',
// Arguments array
array(
'type' => 'select',
'label' => __( 'Page Header Position', 'generate-page-header' ),
'section' => 'page_header_section',
'choices' => array(
'above-content' => __( 'Above Content Area', 'generate-page-header' ),
'inside-content' => __( 'Inside Content Area', 'generate-page-header' )
),
// This last one must match setting ID from above
'settings' => 'generate_page_header_settings[page_header_position]',
'priority' => 37
)
);
// Add Layout setting
$wp_customize->add_setting(
// ID
'generate_page_header_settings[post_header_position]',
// Arguments array
array(
'default' => $defaults['post_header_position'],
'type' => 'option'
)
);
// Add Layout control
$wp_customize->add_control(
// ID
'post_header_control',
// Arguments array
array(
'type' => 'select',
'label' => __( 'Single Post Header Position', 'generate-page-header' ),
'section' => 'page_header_section',
'choices' => array(
'above-content' => __( 'Above Content Area', 'generate-page-header' ),
'inside-content' => __( 'Inside Content Area', 'generate-page-header' ),
'below-title' => __( 'Below Post Title', 'generate-page-header' )
),
// This last one must match setting ID from above
'settings' => 'generate_page_header_settings[post_header_position]',
'priority' => 38
)
);
}
endif;
if ( ! function_exists( 'generate_page_header_admin_style' ) ) :
add_action( 'admin_head','generate_page_header_admin_style' );
function generate_page_header_admin_style()
{
echo '';
}
endif;
if ( ! function_exists( 'generate_get_attachment_id_by_url' ) ) :
/**
* Return an ID of an attachment by searching the database with the file URL.
*
* First checks to see if the $url is pointing to a file that exists in
* the wp-content directory. If so, then we search the database for a
* partial match consisting of the remaining path AFTER the wp-content
* directory. Finally, if a match is found the attachment ID will be
* returned.
*
* @param string $url The URL of the image (ex: http://mysite.com/wp-content/uploads/2013/05/test-image.jpg)
*
* @return int|null $attachment Returns an attachment ID, or null if no attachment is found
*/
function generate_get_attachment_id_by_url( $attachment_url = '' ) {
global $wpdb;
$attachment_id = false;
// If there is no url, return.
if ( '' == $attachment_url )
return;
// Get the upload directory paths
$upload_dir_paths = wp_upload_dir();
// Make sure the upload path base directory exists in the attachment URL, to verify that we're working with a media library image
if ( false !== strpos( $attachment_url, $upload_dir_paths['baseurl'] ) ) {
// If this is the URL of an auto-generated thumbnail, get the URL of the original image
$attachment_url = preg_replace( '/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $attachment_url );
// Remove the upload path base directory from the attachment URL
$attachment_url = str_replace( $upload_dir_paths['baseurl'] . '/', '', $attachment_url );
// Finally, run a custom database query to get the attachment ID from the modified attachment URL
$attachment_id = $wpdb->get_var( $wpdb->prepare( "SELECT wposts.ID FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = '_wp_attached_file' AND wpostmeta.meta_value = '%s' AND wposts.post_type = 'attachment'", $attachment_url ) );
}
return $attachment_id;
}
endif;