/
single.php
88 lines (88 loc) · 3.11 KB
/
single.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php get_header(); ?>
<figure>
<?php the_post_thumbnail( 'headerPieces', array( 'class' => 'img-responsive' )); ?>
</figure>
<main id="pieces" class="container">
<header>
<h1><?php the_title(); ?></h1>
</header>
<section class="row">
<?php
$thefields=get_field_objects(); //$thefields récupère toutes les données liées aux champs ACF
if(!empty ($thefields)) { ?>
<nav>
<ul class="nav nav-tabs">
<?php $i=0;
foreach($thefields as $name => $value) {
$class='';
if($i===0){
$class='class="active"';
}
if(!empty($value[value])) { //Créé un tab de navigation avec les infos contenues dans $thefields si le champ n'est pas vide ?>
<li <?php echo $class ?> >
<a href="#<?php echo $name ?>" data-toggle="tab"><?php echo $value[label]; ?></a>
</li>
<?php
$i++;
}
} ?>
</ul>
</nav>
<div class="col-xs-12 col-sm-12 tab-content">
<?php $i=0;
foreach($thefields as $name => $value) {
$class=['tab-pane fade in']; // on définit la classe des div selon le statut de $i
if($i===0){
$class[]='active';
}
$class=implode(' ', $class);
if(!empty($value['value'])){ ?>
<article class="<?php echo $class ?>" id="<?php echo $name ?>" role="tabpanel">
<?php if(is_array($value[value])){ // Ici on teste $value[value] : si c'est un array, c'est un répéteur
while(have_rows($name)){ // on entre dans la boucle pour récupérer le contenu des subfields
the_row();
$img=get_sub_field('img');
if(count($img) > 3 ){ // si $img>3, elles apparaitront en carousel
?>
<div class="carousel-pieces">
<?php foreach($img as $slide) {
$size='carouselsingle';
$image=wp_get_attachment_image($slide['id'], $size);?>
<figure>
<a class="fancybox image" href=" <?php echo $slide['url']; ?>">
<?php echo $image; ?>
</a>
</figure>
<?php }?>
</div>
<?php } else {
foreach($img as $image){ ?>
<figure>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
</figure>
<?php }
}
the_sub_field('videos');
}
}else if($value[label]==="Dates"){ // le field dates est un booléen : s'il est coché, on envoie la requête
$args=array('post_type'=>'events', 'post_status'=>'publish', 'post_per_page'=>-1);
$headers=array('NOM','DATE', 'LIEU', 'VILLE');
$contents=array('event_name','event_start_date', 'location_id');
$class='table col-sm-12';
$idp=get_the_id();
$events=gv_tabEvents($args, $headers, $contents, $class, $idp);
echo $events;
}else{
echo $value[value]; // dernier choix : si c'est un field acf "standard" (ni un répéteur, ni un booléen), on echo son contenu
}?>
</article>
<?php
$i ++;
}; //fin if(!empty($value['value']))
}; // fin foreach
}; //FIN if(!empty)
?>
</div>
</section>
</main>
<?php get_footer(); ?>