public function ajax() { global $wp_widget_factory; $widget = isset($_REQUEST['widget']) ? $_REQUEST['widget'] : null; if ($widget) { $this->register_widgets(); piklist_widget::$current_widget = $this->widget_name; if (isset($_REQUEST['number'])) { $instances = get_option('widget_' . piklist::dashes($this->widget_name)); piklist_widget::widget()->_set($_REQUEST['number']); if (isset($instances[$_REQUEST['number']])) { piklist_widget::widget()->instance = $instances[$_REQUEST['number']]; } } if (isset($this->widgets[$widget])) { ob_start(); do_action('piklist_widget_notices'); piklist::render($this->widgets[$widget]['form'], null); piklist_form::save_fields(); $output = ob_get_contents(); ob_end_clean(); echo json_encode(array('form' => $output, 'widget' => $this->widgets[$widget], 'tiny_mce' => piklist_form::$field_editor_settings['tiny_mce'], 'quicktags' => piklist_form::$field_editor_settings['quicktags'])); } } die; }
enctype="multipart/form-data" id="<?php echo $id; ?> " autocomplete="off" data-piklist-form="true" class="piklist-form <?php echo is_admin() ? 'hidden' : null; ?> " > <?php do_action('piklist_notices', $id); foreach ($render as $form) { piklist::render($form, $data); } piklist('field', array('type' => 'hidden', 'scope' => piklist::$prefix, 'field' => 'form_id', 'value' => $id)); if ($data['filter']) { piklist('field', array('type' => 'hidden', 'scope' => piklist::$prefix, 'field' => 'filter', 'value' => 'true')); } if ($data['redirect']) { piklist('field', array('type' => 'hidden', 'scope' => piklist::$prefix, 'field' => 'redirect', 'value' => $data['redirect'])); } if (piklist_admin::hide_ui()) { piklist('field', array('type' => 'hidden', 'scope' => piklist::$prefix, 'field' => 'admin_hide_ui', 'value' => 'true')); } piklist_form::save_fields(); ?> </form>
/** * ajax * Render the widget form. * * @access public * @static * @since 1.0 */ public function ajax() { global $wp_widget_factory; $widget = isset($_REQUEST['widget']) ? esc_attr($_REQUEST['widget']) : null; if ($widget && current_user_can('edit_theme_options')) { $this->setup($this->widget_name); if (isset($_REQUEST['number'])) { $instances = get_option('widget_' . piklist::dashes($this->widget_name)); piklist_widget::widget()->_set($_REQUEST['number']); if (isset($instances[$_REQUEST['number']])) { piklist_widget::widget()->instance = $instances[$_REQUEST['number']]; } } if (isset($this->widgets[$widget])) { ob_start(); do_action('piklist_notices'); foreach ($this->widgets[$widget]['render'] as $render) { if (strstr($render, '-form.php')) { piklist::render($render); } } piklist_form::save_fields(); $output = ob_get_contents(); ob_end_clean(); wp_send_json(array('form' => $output, 'widget' => $this->widgets[$widget])); } } wp_send_json_error(); }