honeypot_description ) {
$this->render_honeypot_description();
return;
}
foreach ( $section->description_paragraphs as $paragraph ) {
?>
type ) {
FieldType::Checkbox => $this->render_checkbox( $field ),
FieldType::Image => $this->render_image( $field ),
FieldType::Number => $this->render_number( $field ),
FieldType::Product => $this->render_product( $field ),
FieldType::Secret => $this->render_secret( $field ),
FieldType::Select => $this->render_select( $field ),
FieldType::SupportHours => $this->render_support_hours( $field ),
FieldType::Text => $this->render_text( $field ),
FieldType::Textarea => $this->render_textarea( $field ),
};
}
private function render_text( FieldDefinition $field ): void {
$setting = $field->primary();
$type = isset( $field->render_args['type'] ) && \is_string( $field->render_args['type'] ) ? $field->render_args['type'] : 'text';
$placeholder = isset( $field->render_args['placeholder'] ) && \is_string( $field->render_args['placeholder'] ) ? $field->render_args['placeholder'] : '';
?>
render_variable_control( $setting ); ?>
render_description( $field ); ?>
primary();
?>
render_variable_control( $setting ); ?>
render_description( $field ); ?>
primary();
$value = $this->settings->get_bool( $setting->option_name, (bool) $setting->default_value );
?>
render_doc_link( $field );
}
/**
* Render a field's documentation link outside its label, so following the
* link does not toggle the control it sits beside.
*/
private function render_doc_link( FieldDefinition $field ): void {
if ( '' === $field->doc_url || '' === $field->doc_label ) {
return;
}
?>
doc_label ); ?>
primary();
$min = $this->scalar_arg( $field, 'min', 0 );
$max = $this->scalar_arg( $field, 'max', 9999 );
$step = $this->scalar_arg( $field, 'step', 1 );
?>
render_description( $field ); ?>
primary();
$options = isset( $field->render_args['options'] ) && \is_array( $field->render_args['options'] ) ? $field->render_args['options'] : array();
$value = $this->settings->get_string( $setting->option_name, (string) $setting->default_value );
?>
render_description( $field ); ?>
primary();
$attachment_id = $this->settings->get_int( $setting->option_name );
$image_url = $this->settings->get_image_url( $setting->option_name, 'medium' );
$hidden_class = '' !== $image_url ? '' : ' blocks-hidden';
?>
render_variable_control( $setting ); ?>
primary();
$has_secret = $this->secrets->has( $setting->option_name );
$status_id = $setting->option_name . '-status';
?>
/>
render_description( $field ); ?>
settings[0];
$end = $field->settings[1];
?>
primary();
$product_id = $this->settings->get_int( $setting->option_name );
$label = '';
if ( 0 < $product_id && \function_exists( 'wc_get_product' ) ) {
$product = \wc_get_product( $product_id );
if ( $product instanceof \WC_Product ) {
/* translators: 1: product formatted name, 2: variation count. */
$label = \sprintf( \__( '%1$s (%2$d variations)', 'blocks' ), $product->get_formatted_name(), \count( $product->get_children() ) );
}
}
?>
render_description( $field ); ?>
option_name );
if ( null === $public_token ) {
return;
}
$token = '{{blocks:' . $public_token . '}}';
?>
description ) {
?>
description ); ?>
render_args[ $name ] ?? $default_value;
return \is_int( $value ) || \is_float( $value ) || \is_string( $value ) ? $value : $default_value;
}
}