Ressources

Guides & bonnes pratiques

Ressources

Nos conseils d’experts pour réussir vos salons professionnels, de la préparation du brief à l’après-salon.

(function(){ if(!document.body.classList.contains('page-id-200'))return; var posts=[]; var activeFilters={secteur:'all',surface:'all',salon:'all'}; function slugMatch(terms,slug){if(!terms||!terms.length)return false;return terms.some(function(t){return t.slug===slug;});} function card(p){ var img='';var fm=p._embedded&&p._embedded['wp:featuredmedia']; if(fm&&fm[0]&&fm[0].source_url)img=fm[0].source_url; var terms=(p._embedded&&p._embedded['wp:term'])||[];var flat=[]; terms.forEach(function(g){g.forEach&&g.forEach(function(t){flat.push(t);});}); var type=flat.filter(function(t){return t.taxonomy==='type_realisation';}).map(function(t){return t.name;}).join(' '); var secteur=flat.filter(function(t){return t.taxonomy==='secteur';}).map(function(t){return t.name;}).join(' '); var surface=flat.filter(function(t){return t.taxonomy==='surface_realisation';}).map(function(t){return t.name;}).join(' '); var salon=flat.filter(function(t){return t.taxonomy==='salon_evenement';}).map(function(t){return t.name;}).join(' '); var tag=[type,secteur,surface,salon].filter(Boolean).join(' · '); var excerpt=p.excerpt&&p.excerpt.rendered?p.excerpt.rendered.replace(/<[^>]+>/g,'').substring(0,120)+'...':''; return '
'+(img?'':'
')+'

'+tag+'

'+p.title.rendered+'

'+excerpt+'

'; } function render(){ var filtered=posts.filter(function(p){ var terms=(p._embedded&&p._embedded['wp:term'])||[];var flat=[]; terms.forEach(function(g){g.forEach&&g.forEach(function(t){flat.push(t);});}); var secteurTerms=flat.filter(function(t){return t.taxonomy==='secteur';}); var surfaceTerms=flat.filter(function(t){return t.taxonomy==='surface_realisation';}); var salonTerms=flat.filter(function(t){return t.taxonomy==='salon_evenement';}); if(activeFilters.secteur!=='all'&&!slugMatch(secteurTerms,activeFilters.secteur))return false; if(activeFilters.surface!=='all'&&!slugMatch(surfaceTerms,activeFilters.surface))return false; if(activeFilters.salon!=='all'&&!slugMatch(salonTerms,activeFilters.salon))return false; return true; }); var grid=document.getElementById('adi-grid');var empty=document.getElementById('adi-empty');var count=document.getElementById('adi-count'); if(grid){grid.innerHTML=filtered.map(card).join('');grid.style.display=filtered.length?'grid':'none';} if(empty)empty.style.display=filtered.length?'none':'block'; if(count)count.textContent=filtered.length+' réalisation'+(filtered.length>1?'s':''); } window.adiSetFilter=function(group,value){ activeFilters[group]=value; document.querySelectorAll('.adi-filter-btn[data-group="'+group+'"]').forEach(function(b){ var active=b.getAttribute('data-filter')===value; b.style.background=active?'#0e0e0e':'transparent';b.style.color=active?'#F5C000':'#0e0e0e'; });render(); }; window.adiFilter=function(f){window.adiSetFilter('secteur',f);}; fetch('/wp-json/wp/v2/realisation?per_page=50&_embed=true') .then(function(r){return r.json();}) .then(function(d){posts=d;render();}) .catch(function(){var g=document.getElementById('adi-grid');if(g)g.innerHTML='

Impossible de charger les réalisations.

';}); })();