acf_parse_save_blocks_callback() ACF 5.7.13
Callback used in preg_replace to modify ACF Block comment.
Хуки из функции
Возвращает
Строку
. Null. Ничего.
Использование
acf_parse_save_blocks_callback( $matches );
- $matches(массив) (обязательный)
- The preg matches.
Список изменений
С версии 5.7.13 | Введена. |
Код acf_parse_save_blocks_callback() acf parse save blocks callback ACF 5.9.1
function acf_parse_save_blocks_callback( $matches ) {
// Defaults
$name = isset($matches['name']) ? $matches['name'] : '';
$attrs = isset($matches['attrs']) ? json_decode( $matches['attrs'], true) : '';
$void = isset($matches['void']) ? $matches['void'] : '';
// Bail early if missing data or not an ACF Block.
if( !$name || !$attrs || !acf_has_block_type($name) ) {
return $matches[0];
}
// Convert "data" to "meta".
// No need to check if already in meta format. Local Meta will do this for us.
if( isset($attrs['data']) ) {
$attrs['data'] = acf_setup_meta( $attrs['data'], $attrs['id'] );
}
// Prevent wp_targeted_link_rel from corrupting JSON.
remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
remove_filter( 'content_save_pre', 'wp_targeted_link_rel' );
remove_filter( 'content_save_pre', 'balanceTags', 50 );
/**
* Filteres the block attributes before saving.
*
* @date 18/3/19
* @since 5.7.14
*
* @param array $attrs The block attributes.
*/
$attrs = apply_filters( 'acf/pre_save_block', $attrs );
// Return new comment
return '<!-- wp:' . $name . ' ' . acf_json_encode($attrs) . ' ' . $void . '-->';
}