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';
}
}