name = 'color_picker'; $this->label = 'Color Picker'; $this->category = 'basic'; } public function render( $field, $value = '', $name = null ) { $name = $name ?: "metaforge[{$field['name']}]"; $value = $value ?: ( $field['default_value'] ?? '#ffffff' ); $default_val = ! empty( $field['default_value'] ) ? $field['default_value'] : '#ffffff'; $instructions = ! empty( $field['instructions'] ) ? $field['instructions'] : ''; echo '
'; if ( ! empty( $field['label'] ) ) { echo ''; } if ( ! empty( $instructions ) ) { echo '

' . esc_html( $instructions ) . '

'; } echo '
'; echo ''; echo '
'; // .mfe-input echo '
'; // .mfe-color-picker-field } public function sanitize( $value, $field ) { $value = trim( (string) $value ); if ( empty( $value ) ) { return ''; } if ( $value[0] !== '#' ) { $value = '#' . $value; } if ( preg_match( '/^#[a-fA-F0-9]{6}$/', $value ) || preg_match( '/^#[a-fA-F0-9]{3}$/', $value ) ) { return $value; } return '#ffffff'; } }