name = 'range'; $this->label = 'Range / Slider'; $this->category = 'basic'; } public function render( $field, $value = '', $name = null ) { $name = $name ?: "metaforge[{$field['name']}]"; $min = isset( $field['min'] ) && $field['min'] !== '' ? floatval( $field['min'] ) : 0; $max = isset( $field['max'] ) && $field['max'] !== '' ? floatval( $field['max'] ) : 100; $step = isset( $field['step'] ) && $field['step'] !== '' ? floatval( $field['step'] ) : 1; $unit = $field['unit'] ?? 'px'; $val = ( $value !== '' && $value !== null ) ? floatval( $value ) : $min; echo '
'; echo ''; echo '
'; echo ''; echo ''; echo '' . esc_html( $val ) . '' . esc_html( $unit ); echo ''; echo '
'; echo '
'; } public function format_value( $value, $post_id, $field ) { if ( is_numeric( $value ) ) { return strpos( (string) $value, '.' ) !== false ? floatval( $value ) : intval( $value ); } return 0; } public function sanitize( $value, $field ) { return is_numeric( $value ) ? floatval( $value ) : 0; } }