@media screen and (min-width: 37.5em) {
.menu-toggle {
display: none;
}
.main-navigation ul {
display: flex;
}
}
Changer la valeur du media query
@media screen and (min-width: 300000px) { // pour afficher en permanance le burger menu
.menu-toggle {
display: none;
}
.main-navigation ul {
display: flex;
}
}
Par défaut, votre thème de base (Underscore) affiche dans une catégorie la totalité du contenu de chaque article. Cela n’est pas très ergonomique si vous avez beaucoup d’articles.
Il serait plus logique d’avoir un extrait du contenu et, si on souhaite en savoir plus: on clique pour obtenir la totalité du contenu de l’article.
Le concept
Le fichier archive.php
Observer le fichier archive.php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
C’est un exemple d’application d’une boucle wordpress (loop). De quoi s’agit-il?
La Boucle (The Loop) est utilisée par WordPress pour afficher chacun de vos Articles. Par l’utilisation de La Boucle, WordPress traite tous les Articles devant être affichés sur la page active et adapte leur présentation en utilisant les critères décrits par les marqueurs de La Boucle. Tous les morceaux de code HTML ou PHP placés entre le début et la fin de La Boucle seront exécutés pour chaque Article.
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content-archive', get_post_type() );
endwhile;
Mise en page particulière pour chaque catégorie.
Il est possible d’avoir, pour chaque catégorie, une mise en page particulière. Nous n’utilisons alors plus archive.php mais category-slug.php où slug est le nom informatique de la catégorie (sans accent, espace ou majuscule). On duplique archive.php et on le renomme selon la catégorie concernée. On oublie pas de préciser le fichier de contenu.
Exemple: category-actualites.php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content-category-actualites', get_post_type() );
endwhile;
/* X-Small devices (portrait phones, less than 576px)
No media query for `xs` since this is the default in Bootstrap*/
/* sm - Small devices (landscape phones, 576px and up)*/
@media screen and (min-width: 576px) { }
/* md - Medium devices (tablets, 768px and up) */
@media screen and (min-width: 768px) { }
/* lg - Large devices (desktops, 992px and up) */
@media screen and (min-width: 992px) { }
/* xl - X-Large devices (large desktops, 1200px and up)*/
@media screen and (min-width: 1200px) { }
/* xxl - XX-Large devices (larger desktops, 1400px and up)*/
@media screen and (min-width: 1400px) { }
Créer le fichier dans query_shortcode.php dans le dossier « template-parts » de votre thème
<?php
echo 'Mon shortcode';
?>
A insérer là où vous souhaiter le faire apparaître
[query_shortcode]
Avec une requête personnalisée
<?php
// 1. On définit les arguments pour définir ce que l'on souhaite récupérer
$args = array(
'post_type' => 'post',
'category_name' => 'films',
'posts_per_page' => 3,
);
// 2. On exécute la WP Query
$my_query = new WP_Query( $args );
// 3. On lance la boucle !
if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post();
the_title();
the_post_thumbnail();
endwhile;
endif;
// 4. On réinitialise à la requête principale (important)
wp_reset_postdata();
?>
<div id='map' style='width: 100%; height: 100vh'></div>
<script>
mapboxgl.accessToken = 'votrecodepersonnelquevousdevezrestreindre';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/...',
zoom: 13,
center: [6.1430, 46.2048]
});
// Add zoom and rotation controls to the map.
map.addControl(new mapboxgl.NavigationControl(),'bottom-right');
var geojson ={
type: 'FontaineCollection',
features: [{
type: 'Fontaine',
geometry: {
type: 'Point',
coordinates: [6.14091, 46.20634]
},
properties: {
title: 'Fontaine de Saint-Gervais',
description: 'Eglise de Saint-Gervais',
category:'potable'
}
},
{
type: 'Fontaine',
geometry: {
type: 'Point',
coordinates: [6.14921, 46.20035 ]
},
properties: {
title: 'Fontaine du Bourg-de-Four',
description: 'Place du Bourg-de-Four',
category:'potable'
}
},
{
type: 'Fontaine',
geometry: {
type: 'Point',
coordinates: [6.15237, 46.20413]
},
properties: {
title: 'Fontaine des 4 saisons',
description: 'Jardin anglais',
category:'non-potable'
}
}]
};
// add markers to map
geojson.features.forEach(function(marker) {
// create a HTML element for each feature
var el = document.createElement('div');
el.className = 'marker' + ' ' + marker.properties.category;
// make a marker for each feature and add to the map
new mapboxgl.Marker(el)
.setLngLat(marker.geometry.coordinates)
.addTo(map);
});
</script>
Grâce à cet élément el.className = ‘marker’ + ‘ ‘ + marker.properties.category; la catégorie est passée comme classe supplémentaire… et donc il est possible d’attribuer un style différent
<div id='map' style='width: 100%; height: 100vh'></div>
<script>
mapboxgl.accessToken = 'votrecodepersonnelquevousdevezrestreindre';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/...',
zoom: 13,
center: [6.1430, 46.2048]
});
// Add zoom and rotation controls to the map.
map.addControl(new mapboxgl.NavigationControl(),'bottom-right');
// Markers Json
var geojson = {
type: 'FeatureCollection',
features: [{
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [6.14091, 46.20634]
},
properties: {
title: 'Fontaine',
description: 'Saint-Gervais'
}
}]
};
// add markers to map
geojson.features.forEach(function(marker) {
// create a HTML element for each feature
var el = document.createElement('div');
el.className = 'marker';
// make a marker for each feature and add to the map
new mapboxgl.Marker(el)
.setLngLat(marker.geometry.coordinates)
.addTo(map);
});
</script>
2) Choisissez le type d’API (Application Programming Interface)
3) Copier les liens des scripts et coller-les dans le header de votre fichier html
4) Copier le code d’intégration de votre carte dans le body de votre fichier html.
Vous pouver adapter le format de votre carte directement ici
Customisation
<script>
mapboxgl.accessToken = 'votrecodepersonnelquevousdevezrestreindre';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/...',
zoom: 13,
center: [6.1430, 46.2048]
});
</script>
mapboxgl.accessToken: Votre token personnel à restreindre sur l’url de publication
style: Lien sur votre style personnalisé
zoom: zoom!
center: Position de la carte au chargement
Ajouter une interface de navigation, positionnée en bas à droite
<script>
mapboxgl.accessToken = 'votrecodepersonnelquevousdevezrestreindre';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/...',
zoom: 13,
center: [6.1430, 46.2048]
});
// Add zoom and rotation controls to the map.
map.addControl(new mapboxgl.NavigationControl(),'bottom-right');
</script>
Ajouter un marker
<script>
mapboxgl.accessToken = 'votrecodepersonnelquevousdevezrestreindre';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/...',
zoom: 13,
center: [6.1430, 46.2048]
});
// Add zoom and rotation controls to the map.
map.addControl(new mapboxgl.NavigationControl(),'bottom-right');
// Add markers to the map.
var marker = new mapboxgl.Marker()
.setLngLat([6.14091, 46.20634])
.addTo(map);
</script>