WordPress and Waymark add meaningful Class names to certain HTML elements.
This enables very granular control over how Maps , Collections , Shortcodes and even specific Markers are displayed with CSS.
Map Details
Maps in Waymark use the
waymark_map
custom post type
. In WordPress every post has a unique ID, for example this page has an
ID of 4089. We can target this page only by writing a CSS selector that
uses one of many helpful
class names
that WordPress adds to the HTML
<body>
element:
/* Target Map Details page of a specific Map by ID */
body.postid-4089 {
border: 10px solid red;
}
You can also target by post type, for example to style the Map Details
page we can style using the WordPress custom post type of
waymark_map
:
/* Target the Waymark Map on *every* Map Details page */
body.single-waymark_map .waymark-map {
/* Your rules... */
}
Shortcodes
Maps
Waymark adds some helpful class names to the Shortcode and Map Container. When embedding a Map for example:
<!-- Waymark creates a Hash unless one is provided using map_hash -->
<div id="waymark-shortcode-d21a75" data-shortcode_hash="d21a75" class="waymark-shortcode waymark-container">
<!-- Map -->
<div id="waymark-map-d21a75" class="waymark-map waymark-map-id-4028 waymark-map-container waymark-has-cluster waymark-has-gallery">
<!-- Leaflet ... -->
</div>
<!-- Elevation -->
<div id="waymark-elevation-d21a75" class="waymark-elevation">
<!-- Leaflet Elevation ... -->
</div>
</div>
Waymark adds a class name containing the Map ID to all Shortcodes, so to target all Maps of a certain Map by ID:
Waymark map_id="4028"
/* Every Shortcode of a particular Map */
.waymark-map.waymark-map-id-4028 {
border: 10px solid blue;
}
More details on styling the Elevation profile can be found here .
Collections
WordPress adds the
tax-waymark_collection
class name to the Collection archive page , so to target a particular
Map when shown on the Collection archive page only:
/* A particular Map on the Collection archive page */
body.tax-waymark_collection .waymark-map-id-4071 {
/* Your rules... */
}
When embedded using the Shortcode, the Map has a class name containing the Collection ID. For example:
<!-- There's that map_hash again! -->
<div id="waymark-shortcode-de2540" class="waymark-shortcode waymark-container">
<!-- Map -->
<div id="waymark-map-de2540" class="waymark-map waymark-collection-id-27 waymark-map-container">
<!-- Leaflet... -->
</div>
</div>
This can be used to style a specific Collection by it’s ID:
Waymark collection_id="27"
/* A particular Collection Shortcode */
.waymark-map.waymark-collection-id-27 {
border: 10px solid green;
}
Map Hash
You can pass a unique
map_hash
Shortcode parameter , which will be added to the Shortcode container (as
an ID, instead of a class name):
Waymark map_id="4028" map_hash="pink_me"
/* Target using a unique Map Hash provided through the Shortcode */
#waymark-shortcode-pink_me {
border: 10px solid pink;
}
Markers
Every Marker Type has a unique key (derived from it’s Title). Each time it is displayed on the Map, this key is added to the HTML for the Marker like this:
<!-- Not just beer... waymark-marker-[your_type_key] -->
<div class="waymark-marker waymark-marker-beer waymark-marker-marker waymark-marker-medium">
<div class="waymark-marker-background" style="background:#fbfbfb;"></div>
<!-- Using the "beer" Ionic Font Icon -->
<i style="color:#754423;" class="waymark-marker-icon waymark-icon-icon ion ion-beer"></i>
</div>
Waymark collection_id="27" map_hash="beer_markers"
/* Target by Overlay Type key */
#waymark-map-beer_markers .waymark-marker-beer {
border: 10px solid orange;
border-radius: 50%;
}