File: /var/www/vfconf/wp-content/plugins/so-widgets-bundle/base/inc/fields/order.class.php
<?php
/**
* Class SiteOrigin_Widget_Field_Order
*/
class SiteOrigin_Widget_Field_Order extends SiteOrigin_Widget_Field_Base {
protected $options;
protected function render_field( $value, $instance ) {
$value = $this->sanitize_field_input( $value, $instance );
if ( ! empty( $this->options ) && ! empty( $value ) ) {
?><div class="siteorigin-widget-order-items">
<?php
foreach ( $value as $key ) {
?>
<div class="siteorigin-widget-order-item" data-value="<?php echo esc_attr( $key ); ?>">
<?php echo esc_html( $this->options[ $key ] ); ?>
</div>
<?php
}
?>
</div>
<?php
}
?>
<input
type="hidden"
name="<?php echo esc_attr( $this->element_name ); ?>"
id="<?php echo esc_attr( $this->element_id ); ?>"
class="siteorigin-widget-input"
value="<?php echo esc_attr( implode( ',', $value ) ); ?>"
>
<?php
}
protected function sanitize_field_input( $value, $instance ) {
if ( is_string( $value ) ) {
$value = explode( ',', $value );
$value = array_map( 'trim', $value );
}
if ( ! is_array( $value ) ) {
$value = array();
}
foreach ( $value as $i => $k ) {
if ( empty( $this->options[$k] ) ) {
unset( $value[ $i ] );
}
}
return $value;
}
public function enqueue_scripts() {
wp_enqueue_script(
'so-order-field',
plugin_dir_url( __FILE__ ) . 'js/order-field' . SOW_BUNDLE_JS_SUFFIX . '.js',
array(
'jquery',
'jquery-ui-sortable',
),
SOW_BUNDLE_VERSION
);
wp_enqueue_style(
'so-order-field',
plugin_dir_url( __FILE__ ) . 'css/order-field.css',
array(),
SOW_BUNDLE_VERSION
);
}
}