ACF\Blocks
Bindings::get_value
Handle returing the block binding value for an ACF meta value.
Метод класса: Bindings{}
Хуки из метода
Возвращает
Строку|null. The block binding value or an empty string on failure.
Использование
$Bindings = new Bindings(); $Bindings->get_value( $source_attrs, $block_instance, $attribute_name );
- $source_attrs(массив) (обязательный)
- An array of the source attributes requested.
- $block_instance(WP_Block) (обязательный)
- The block instance.
- $attribute_name(строка) (обязательный)
- The block's bound attribute name.
Список изменений
| С версии 6.2.8 | Введена. |
Код Bindings::get_value() Bindings::get value ACF 6.4.2
public function get_value( array $source_attrs, \WP_Block $block_instance, string $attribute_name ) {
if ( ! isset( $source_attrs['key'] ) || ! is_string( $source_attrs['key'] ) ) {
$value = '';
} else {
$field = get_field_object( $source_attrs['key'], false, true, true, true );
if ( ! $field ) {
return '';
}
if ( ! acf_field_type_supports( $field['type'], 'bindings', true ) ) {
if ( is_preview() ) {
return apply_filters( 'acf/bindings/field_not_supported_message', '[' . esc_html__( 'The requested ACF field type does not support output in Block Bindings or the ACF shortcode.', 'acf' ) . ']' );
} else {
return '';
}
}
if ( isset( $field['allow_in_bindings'] ) && ! $field['allow_in_bindings'] ) {
if ( is_preview() ) {
return apply_filters( 'acf/bindings/field_not_allowed_message', '[' . esc_html__( 'The requested ACF field is not allowed to be output in bindings or the ACF Shortcode.', 'acf' ) . ']' );
} else {
return '';
}
}
$value = $field['value'];
if ( is_array( $value ) ) {
$value = implode( ', ', $value );
}
// If we're not a scalar we'd throw an error, so return early for safety.
if ( ! is_scalar( $value ) ) {
$value = null;
}
}
return apply_filters( 'acf/blocks/binding_value', $value, $source_attrs, $block_instance, $attribute_name );
}