function theme_widgets_ajax_callback() { $query = $_POST['query']; switch ($query) { case 'get_parent_posts': $ptype = $_POST['post_type']; $posts = get_theme_widgets_posts($ptype); if (!empty($posts)) { $options = ''; foreach ($posts as $post) { $options .= sprintf('<option value="%1$s" selected>%2$s</option>', $post->ID, $post->post_title); } $segments = array('parent_pages' => $options); echo json_encode($segments); } break; } exit(); }
/** * Outputs the options form on admin * * @param array $instance The widget options */ public function form($instance) { $title = !empty($instance['title']) ? $instance['title'] : __('', 'uiu'); ?> <p> <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>"> </p> <?php $post_type = !empty($instance['post_type']) ? $instance['post_type'] : 'page'; $post_types = get_post_types(array('public' => TRUE, 'hierarchical' => TRUE)); ?> <p> <label for="<?php echo $this->get_field_id('post_type'); ?>"><?php _e('Post Type:'); ?></label> <select data-target="#<?php echo $this->get_field_id('post_parent'); ?>" name="<?php echo $this->get_field_name('post_type'); ?>" id="<?php echo $this->get_field_id('post_type'); ?>" onchange="THEME_WIDGETS.getPost(this)"> <?php //$post_types = get_post_types( array('public'=>TRUE,'hierarchical'=>TRUE)); foreach ($post_types as $key => $type) { if ($type == $post_type) { echo sprintf('<option value="%1$s" selected>%1$s</option>', $key, ucwords($type)); } else { echo sprintf('<option value="%1$s">%1$s</option>', $key, ucwords($type)); } } ?> </select> </p> <?php $post_parent = !empty($instance['post_parent']) ? $instance['post_parent'] : 0; $post_parents = get_theme_widgets_posts($post_type); ?> <p> <label for="<?php echo $this->get_field_id('post_parent'); ?>"><?php _e('Post Parent:'); ?></label> <select name="<?php echo $this->get_field_name('post_parent'); ?>" id="<?php echo $this->get_field_id('post_parent'); ?>"> <?php foreach ($post_parents as $post) { if ($post->ID == $post_parent) { echo sprintf('<option value="%1$s" selected>%2$s</option>', $post->ID, $post->post_title); } else { echo sprintf('<option value="%1$s">%2$s</option>', $post->ID, $post->post_title); } } ?> </select> </p> <fieldset class="theme-widgets"> <legend>Slider Settings</legend> <?php $autoplay = !empty($instance['carousel_auto_play']) ? 1 : 0; ?> <p> <label for="<?php echo $this->get_field_id('carousel_auto_play'); ?>"><?php _e('Auto Play:'); ?> <input name="<?php echo $this->get_field_name('carousel_auto_play'); ?>" id="<?php echo $this->get_field_id('carousel_auto_play'); ?>" type="checkbox" value="1" <?php if ($autoplay) { echo 'checked=""'; } ?>/></label> </p> <?php $nav = !empty($instance['carousel_nav']) ? 1 : 0; ?> <p> <label for="<?php echo $this->get_field_id('carousel_nav'); ?>"><?php _e('Navigation:'); ?> <input name="<?php echo $this->get_field_name('carousel_nav'); ?>" id="<?php echo $this->get_field_id('carousel_nav'); ?>" type="checkbox" value="1" <?php if ($nav) { echo 'checked=""'; } ?>/></label> </p> <?php $pagging = !empty($instance['carousel_pagging']) ? 1 : 0; ?> <p> <label for="<?php echo $this->get_field_id('carousel_pagging'); ?>"><?php _e('Pagging:'); ?> <input name="<?php echo $this->get_field_name('carousel_pagging'); ?>" id="<?php echo $this->get_field_id('carousel_pagging'); ?>" type="checkbox" value="1" <?php if ($pagging) { echo 'checked=""'; } ?>/></label> </p> </fieldset> <?php }