protected function render_after_field($value, $instance) { if (!empty($this->fallback)) { $fallback_name = $this->get_fallback_field_name($this->base_name); $fallback_url = !empty($instance[$fallback_name]) ? $instance[$fallback_name] : ''; ?> <input type="text" value="<?php echo esc_url($fallback_url); ?> " placeholder="<?php esc_attr_e('External URL', 'siteorigin-widgets'); ?> " name="<?php echo esc_attr($this->for_widget->so_get_field_name($this->base_name . '_fallback', $this->parent_repeater)); ?> " class="media-fallback-external siteorigin-widget-input" /> <div class="clear"></div> <?php } else { ?> <div class="clear"></div> <?php } //Still want the default description, if there is one. parent::render_after_field($value, $instance); }
public function create_field($field_name, $field_options, SiteOrigin_Widget $for_widget, $for_repeater = array(), $is_template = false) { $element_id = $for_widget->so_get_field_id($field_name, $for_repeater, $is_template); $element_name = $for_widget->so_get_field_name($field_name, $for_repeater); $field_class = $this->get_field_class_name($field_options['type']); if ($this->is_container_type($field_options['type'])) { return new $field_class($field_name, $element_id, $element_name, $field_options, $for_widget, $for_repeater); } else { return new $field_class($field_name, $element_id, $element_name, $field_options); } }
public function create_field($field_name, $field_options, SiteOrigin_Widget $for_widget, $for_repeater = array(), $is_template = false) { $element_id = $for_widget->so_get_field_id($field_name, $for_repeater, $is_template); $element_name = $for_widget->so_get_field_name($field_name, $for_repeater); if (empty($field_options['type'])) { $field_options['type'] = 'text'; $field_options['label'] = __('This field does not have a type. Please specify a type for it to be rendered correctly.', 'so-widgets-bundle'); } $field_class = $this->get_field_class_name($field_options['type']); // If we still don't have a class use the 'SiteOrigin_Widget_Field_Error' class to indicate this to the user. if (!class_exists($field_class)) { return new SiteOrigin_Widget_Field_Error('', '', '', array('type' => 'error', 'message' => 'The class \'' . $field_class . '\' could not be found. Please make sure you specified the correct field type and that the class exists.')); } return new $field_class($field_name, $element_id, $element_name, $field_options, $for_widget, $for_repeater); }
public function create_field($field_name, $field_options, SiteOrigin_Widget $for_widget, $for_repeater = array(), $is_template = false) { $element_id = $for_widget->so_get_field_id($field_name, $for_repeater, $is_template); $element_name = $for_widget->so_get_field_name($field_name, $for_repeater); if (empty($field_options['type'])) { $field_options['type'] = 'text'; $field_options['label'] = __('This field does not have a type. Please specify a type for it to be rendered correctly.', 'siteorigin-widgets'); } $field_class = $this->get_field_class_name($field_options['type']); if ($this->is_container_type($field_options['type'])) { return new $field_class($field_name, $element_id, $element_name, $field_options, $for_widget, $for_repeater); } else { return new $field_class($field_name, $element_id, $element_name, $field_options); } }