<?php //START create metabox function add_action( 'add_meta_boxes', 'nd_options_metabox_woo' ); function nd_options_metabox_woo() { add_meta_box( 'nd-options-meta-box-woocommerce-id', __('ND Options WooCommerce','nd-shortcodes'), 'nd_options_metabox_woocommerce', 'product', 'normal', 'high' ); } //END create metabox function //START adding all metabox function nd_options_metabox_woocommerce() { // required js wp_enqueue_script('iris'); //values global $post; $nd_options_values = get_post_custom( $post->ID ); $nd_options_meta_box_woocommerce_color = get_post_meta( get_the_ID(), 'nd_options_meta_box_woocommerce_color', true ); ?> <!--******************************COLOR******************************--> <p><strong><?php _e('Color','nd-shortcodes'); ?></strong></p> <p><input id="nd_options_colorpicker" type="text" name="nd_options_meta_box_woocommerce_color" id="nd_options_meta_box_woocommerce_color" value="<?php echo esc_html($nd_options_meta_box_woocommerce_color); ?>" /></p> <p class="description"><?php _e('This color will be used as the background of the button "read more" in the archive page.','nd-shortcodes'); ?></p> <script type="text/javascript"> //<![CDATA[ jQuery(document).ready(function($){ $('#nd_options_colorpicker').iris(); }); //]]> </script> <?php } //END adding all metabox //START create save metabox add_action( 'save_post', 'nd_options_meta_box_woocommerce_save' ); function nd_options_meta_box_woocommerce_save( $post_id ) { //sanitize and validate $nd_options_meta_box_woocommerce_color = sanitize_hex_color( $_POST['nd_options_meta_box_woocommerce_color'] ); if ( isset( $nd_options_meta_box_woocommerce_color ) ) { update_post_meta( $post_id, 'nd_options_meta_box_woocommerce_color' , $nd_options_meta_box_woocommerce_color ); } } //END create save metabox /*******************************HEADER IMG******************************/ add_action( 'add_meta_boxes', 'nd_options_metabox_woo_header_img' ); function nd_options_metabox_woo_header_img() { add_meta_box( 'nd-options-meta-box-woocommerce-header-img-id', __('ND Options Header Image','nd-shortcodes'), 'nd_options_metabox_woocommerce_header_img', 'product', 'normal', 'high' ); } function nd_options_metabox_woocommerce_header_img() { // $post is already set, and contains an object: the WordPress post global $post; $nd_options_values = get_post_custom( $post->ID ); $nd_options_meta_box_woocommerce_header_img = get_post_meta( get_the_ID(), 'nd_options_meta_box_woocommerce_header_img', true ); $nd_options_meta_box_woocommerce_header_img_title = get_post_meta( get_the_ID(), 'nd_options_meta_box_woocommerce_header_img_title', true ); $nd_options_meta_box_woocommerce_header_img_position = get_post_meta( get_the_ID(), 'nd_options_meta_box_woocommerce_header_img_position', true ); ?> <!--******************************IMAGE******************************--> <p><strong><?php _e('Header Image','nd-shortcodes'); ?></strong></p> <p><input class="regular-text" type="text" name="nd_options_meta_box_woocommerce_header_img" id="nd_options_meta_box_woocommerce_header_img" value="<?php echo esc_url($nd_options_meta_box_woocommerce_header_img); ?>" /></p> <p> <input class="button nd_options_meta_box_woocommerce_header_img_button" type="button" name="nd_options_meta_box_woocommerce_header_img_button" id="nd_options_meta_box_woocommerce_header_img_button" value="<?php _e('Upload','nd-shortcodes'); ?>" /> </p> <!--******************************POSITION******************************--> <p><strong><?php _e('Image Position','nd-shortcodes'); ?></strong></p> <p> <select name="nd_options_meta_box_woocommerce_header_img_position" id="nd_options_meta_box_woocommerce_header_img_position"> <option <?php if( $nd_options_meta_box_woocommerce_header_img_position == 'nd_options_background_position_center_top' ) { echo esc_html('selected="selected"'); } ?> value="nd_options_background_position_center_top"><?php _e('Position Top','nd-shortcodes'); ?></option> <option <?php if( $nd_options_meta_box_woocommerce_header_img_position == 'nd_options_background_position_center_bottom' ) { echo esc_html('selected="selected"'); } ?> value="nd_options_background_position_center_bottom"><?php _e('Position Bottom','nd-shortcodes'); ?></option> <option <?php if( $nd_options_meta_box_woocommerce_header_img_position == 'nd_options_background_position_center' ) { echo esc_html('selected="selected"'); } ?> value="nd_options_background_position_center"><?php _e('Position Center','nd-shortcodes'); ?></option> </select> </p> <!--******************************TITLE******************************--> <p><strong><?php _e('Title','nd-shortcodes'); ?></strong></p> <p><input id="nd_options_meta_box_woocommerce_header_img_title" type="text" name="nd_options_meta_box_woocommerce_header_img_title" id="nd_options_meta_box_woocommerce_header_img_title" value="<?php echo esc_html($nd_options_meta_box_woocommerce_header_img_title); ?>" /></p> <p class="description"><?php _e('Insert the title/slogan over the image','nd-shortcodes'); ?></p> <script type="text/javascript"> //<![CDATA[ jQuery(document).ready(function() { jQuery( function ( $ ) { var file_frame = [], $button = $( '.nd_options_meta_box_woocommerce_header_img_button' ); $('#nd_options_meta_box_woocommerce_header_img_button').click( function () { var $this = $( this ), id = $this.attr( 'id' ); // If the media frame already exists, reopen it. if ( file_frame[ id ] ) { file_frame[ id ].open(); return; } // Create the media frame. file_frame[ id ] = wp.media.frames.file_frame = wp.media( { title : $this.data( 'uploader_title' ), button : { text : $this.data( 'uploader_button_text' ) }, multiple : false // Set to true to allow multiple files to be selected } ); // When an image is selected, run a callback. file_frame[ id ].on( 'select', function() { // We set multiple to false so only get one image from the uploader var attachment = file_frame[ id ].state().get( 'selection' ).first().toJSON(); $('#nd_options_meta_box_woocommerce_header_img').val(attachment.url); } ); // Finally, open the modal file_frame[ id ].open(); } ); }); }); //]]> </script> <?php } add_action( 'save_post', 'nd_options_meta_box_woocommerce_header_img_save' ); function nd_options_meta_box_woocommerce_header_img_save( $post_id ) { //sanitize and validate $nd_options_meta_box_woocommerce_header_img = sanitize_url( $_POST['nd_options_meta_box_woocommerce_header_img'] ); if ( isset( $nd_options_meta_box_woocommerce_header_img ) ) { update_post_meta( $post_id, 'nd_options_meta_box_woocommerce_header_img' , $nd_options_meta_box_woocommerce_header_img ); } //sanitize and validate $nd_options_meta_box_woocommerce_header_img_title = sanitize_text_field( $_POST['nd_options_meta_box_woocommerce_header_img_title'] ); if ( isset( $nd_options_meta_box_woocommerce_header_img_title ) ) { update_post_meta( $post_id, 'nd_options_meta_box_woocommerce_header_img_title' , $nd_options_meta_box_woocommerce_header_img_title ); } //sanitize and validate $nd_options_meta_box_woocommerce_header_img_position = sanitize_text_field( $_POST['nd_options_meta_box_woocommerce_header_img_position'] ); if ( isset( $nd_options_meta_box_woocommerce_header_img_position ) ) { update_post_meta( $post_id, 'nd_options_meta_box_woocommerce_header_img_position' , $nd_options_meta_box_woocommerce_header_img_position ); } }