File: /home/frenchy/www/french-american.org/current/app/functions/acf-blocks/button.inc.php
<?php
/* #####################
ACF bloc pour Gutenberg : exemple de bloc 'Bouton'
*/
add_action('acf/init', 'acf_block_button');
function acf_block_button()
{
if (function_exists('acf_register_block_type')) {
acf_register_block_type(array(
'name' => 'button',
'title' => __('Bouton', 'wpstartertheme'),
'description' => __('Bouton', 'wpstartertheme'),
'render_callback' => 'acf_block_button_render_callback',
'category' => 'layout',
'icon' => 'admin-links',
'keywords' => array('bouton', 'cta'),
'supports' => array('align'),
));
}
}
function acf_block_button_render_callback($block, $content = '', $is_preview = true, $post_id)
{
$context = Timber::get_context();
// Store block values.
$context['block'] = $block;
// Custom classes and alignement
$className = '';
$alignment = '';
if (!empty($block['className'])) {
$className .= ' ' . $block['className'];
}
if (!empty($block['align'])) {
$alignment = 'align' . $block['align'];
}
$context['classes'] = $className;
$context['alignment'] = $alignment;
// Store field values.
$context['fields'] = get_fields();
// Store $is_preview value.
$context['is_preview'] = $is_preview;
// Render the block.
Timber::render('acf-blocks/button.twig', $context);
}