File: /home/frenchy/www/french-american.org/repo/app/functions/acf-blocks/equipe.inc.php
<?php
/* #####################
ACF bloc pour Gutenberg : Team (comité exécutif, young leaders...)
*/
add_action('acf/init', 'acf_block_equipe');
function acf_block_equipe()
{
if (function_exists('acf_register_block_type')) {
acf_register_block_type(array(
'name' => 'equipe',
'title' => __('Équipe', 'wpstartertheme'),
'description' => __('Équipe (comité exécutif, young leaders...)', 'wpstartertheme'),
'render_callback' => 'acf_block_equipe_render_callback',
'category' => 'layout',
'icon' => 'groups',
'keywords' => array('equipe', 'équipe', 'team', 'young', 'leaders', 'young leaders', 'comité', 'exécutif'),
));
}
}
function acf_block_equipe_render_callback($block)
{
$is_preview = is_admin() ? true : false;
$context = Timber::get_context();
// Store block values.
$context['block'] = $block;
// Store field values.
$context['fields'] = get_fields();
$choix_equipe = $context['fields']['choix_equipe'];
// Loop pour parcourir les personnes
$args = array(
'post_type' => 'personne',
'post_status' => 'publish',
'numberposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'equipes',
'field' => 'term_id',
'terms' => $choix_equipe
),
),
);
$context['personnes'] = Timber::get_posts($args);
// Store $is_preview value.
$context['is_preview'] = $is_preview;
// Render the block.
Timber::render('acf-blocks/equipe.twig', $context);
}