'Parallax Height', 'desc' => 'The height the parallax element should be in pixels. Set to 0 to auto set the height based on the post content. Minimum height is always 100px', 'id' => $prefix.'height', 'type' => 'number' ), array( 'label'=> 'Parallax Image Size', 'desc' => 'The parallax image size will be scaled based on this value. Specify the width in pixels. Set to 0 to auto set the size of the image (recommended)', 'id' => $prefix.'pheight', 'type' => 'number' ), array( 'label'=> 'Horizontal Position', 'desc' => 'The horizontal position of the header on the parallax background.', 'id' => $prefix.'hpos', 'type' => 'select', 'options' => array ( 'one' => array ( 'label' => 'Left', 'value' => 'left' ), 'two' => array ( 'label' => 'Centre', 'value' => 'center' ), 'three' => array ( 'label' => 'Right', 'value' => 'right' ) ) ), array( 'label'=> 'Vertical Position', 'desc' => 'The vertical position of the header on the parallax background. This setting is ignored if post content is specified.', 'id' => $prefix.'vpos', 'type' => 'select', 'options' => array ( 'one' => array ( 'label' => 'Top', 'value' => 'top' ), 'two' => array ( 'label' => 'Middle', 'value' => 'middle' ), 'three' => array ( 'label' => 'Bottom', 'value' => 'bottom' ) ) ), array( 'label'=> 'Header Style', 'desc' => 'Enter the inline CSS style required for the header eg. font-weight: bold; font-size: large;', 'id' => $prefix.'hstyle', 'type' => 'textarea' ), array( 'label'=> 'Full Width', 'desc' => 'Display the parallax across the full width of the page. This is a work around to get a full width parallax if its not already. This may not work on some themes.', 'id' => $prefix.'FullWidth', 'type' => 'checkbox' ), array( 'label'=> 'Disable Parallax Image On Mobile Devices', 'desc' => 'Parallax Scroll will only render the background image on mobile devices with no parallax animation. Select this option if you would rather the background image not display at all on mobile devices.', 'id' => $prefix.'DisableParImg', 'type' => 'checkbox' ), array( 'label'=> 'Disable Entire Parallax On Mobile Devices', 'desc' => 'Parallax Scroll will only render the background image on mobile devices with no parallax animation. Select this option if you would rather not display any of the parallax content when on mobile device.', 'id' => $prefix.'DisableParallax', 'type' => 'checkbox' ) ); // The Callback function show_meta_parallax_scroll() { global $custom_meta_fields, $post; // Use nonce for verification echo ''; // Begin the field table and loop echo ''; //Display message first echo ''; foreach ($custom_meta_fields as $field) { // get value of this field if it exists for this post $meta = esc_attr(get_post_meta($post->ID, $field['id'], true)); // begin a table row with echo ''; } // end foreach echo '
'; echo '

'; echo 'Parallax Scroll by adamrob.co.uk'; echo '
Parallax scroll wil use the information in this post to build a parallax element on your site. This element can then be used in any page/post on your site by using a shortcode.'; echo '

'; echo '

'; echo "
What's New?
"; echo "> All help text has now been moved to the help menus. Try clicking the help link in the top right hand corner!"; echo '

'; echo '
'; echo '
'; switch($field['type']) { // Text field case 'text': echo '
'.$field['desc'].''; break; //Number field case 'number': echo '
'.$field['desc'].''; break; // textarea case 'textarea': echo '
'.$field['desc'].''; break; // checkbox case 'checkbox': echo ' '; break; // select case 'select': echo '
'.$field['desc'].''; break; } //end switch echo '
'; // end table } // Save the Data function save_meta_parallax_scroll($post_id) { global $custom_meta_fields; // verify nonce if (!wp_verify_nonce($_POST['parallax_scroll_meta_nonce'], basename(__FILE__))) return $post_id; // check autosave if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // check permissions if ('parallax_scroll' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } // loop through fields and save the data foreach ($custom_meta_fields as $field) { $old = esc_attr(get_post_meta($post_id, $field['id'], true)); $new = esc_attr($_POST[$field['id']]); if (isset($new) && $new != $old) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $new && $old) { delete_post_meta($post_id, $field['id'], $old); } } // end foreach } add_action('save_post', 'save_meta_parallax_scroll'); ?>