This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



Create maps, drop pins, and so much more!

This plugin adds a new placemark post type that allows author to create and update map content.

The author interface includes:


  • An interactive map to drop and move pins
  • A way to edit GPS by hand and make use of the geolocation on your mobile phone
  • An editable set of drop-down lists for picking locations
  • An alternative text area to describe the location


  • An editable drop-down of marker types and associated icons
  • An optional title
  • Optional bubble text
  • Optional link

** Optional **
The locations and marker types can be set by an administrator. This allow the you to:

  • Customize the types of markers includeing the image
  • Set a custom taxonomy for locations, allowing authors to zoom in to campus, building, floor, etc…
  • Add image overlays to each location, including floorplans.

To embed the maps a simple short code is used. You can limit which type of placemarks will show up on each map.

A basic API allows you to pull out the data for other mapping systems.


  • Demo of how the plugin works with custom locations and marker images
  • How a map might look on a post page
  • Creating a new ‘Placemark’
  • With the settings you can customize the types of placemarks, locations and icons available.
  • And then we embed a map!


  1. Upload the placemarks folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Create some new placemarks
  4. Include the shortcode [placemarks] on any page or post


What can the shortcode do?

[placemarks types=”list of type names” ids=”list of placemarker ids” lat=# lng =# zoom=# width=”” height=”” alt=true/false]

Everything after placemark is optional:

  • types: String. List of types slugs to include on the map “type, foo bar” (shows all by default)
  • locations: String. List of location slugs to include on the map “location-1,location-2”. can be used with types to further limit.
  • ids: String. List of placemarker ids – handy if you only want 1, or 2. Can be used with types and locatiosn to help limit.
  • lat: Number. Use lat+lng+zoom to choose an initial map view (defaults to show all pins)
  • lng: Number. Use lat+lng+zoom to choose an initial map view (defaults to show all pins)
  • zoom: Number. Use lat+lng+zoom to choose an initial map view (defaults to show all pins)
  • width: String. Change the width of the map (default ‘100%’)
  • height: String. Change the height of the map (default ‘400px’)
  • alt: True/False. A text list of all the markers shows under th map by default. This can be used to turn it off.
How do I edit the locations and types drop-downs?

Go to Settings -> Placemarks. Here you can use JSON to create custom lists. For example:

Marker Types (JSON): name and src are required

{ "types": [
    {"name":"Default", "src":""},
    {"name":"Hot", "src":""}

Locations (JSON): name and slug are required. slug should always be unique

{"locations": [

Optionally, you can also include: lat, lng, zoom. Together, these control the map when selected in the admin interface.

{"locations": [

Each location can also include locations. This can be used to create hierarchies of select lists!

{"locations": [
    {"name":"Oregon","slug":"or", "locations":[
    {"name":"Washington","slug":"wa", "locations":[


There are no reviews for this plugin.

Contributors & Developers

“Placemarks” is open source software. The following people have contributed to this plugin.


Translate “Placemarks” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Disabled error reporting display
  • Updated calls to API using rest_url() – to work with non-standard WordPress installs


  • Multiple maps on a single page without conflict


  • Reformat code using the WP Boilerplate format
  • Switched from Google Maps to OpenStreetMaps
  • New network settings available in multisite
  • Uses the WordPress REST API (discontinue old api)
  • Fixed xss vulnerability in old api (by removing it 🙂
  • Admin data pulled direclty from api


  • Remove/hide preview button
  • Remove “view” message on update
  • Shortcode: allow “ids” to only show 1 or 2
  • Update icon on map from default
  • Add slug to location
  • Rename script/style files to make sence
  • Create data export page
  • Limit by location slug in shortcode


  • Basic functions in place
  • All placemarks: Show location names instead of slugs
  • Embedded map: Add “edit” link to markers displayed on map when user is logged in for quick editing!


  • Bugfix: Only enqueue js on placemark admin pages
  • Settings: Allow locations in locations (via JSON)


  • Bug fix: 2.0.0 was missing function files
  • Shortcode: set defaults for gps and zoom


  • Feature: Setting can now be changed at the network level
  • Feature: Basic API for pulling data: /placemarks-data/


  • Bug fix: Lots of bug fixes
  • Update: Marker types should now include slug. Allows you to change the name without breaking everything. Will work fine without slug for now.
  • Update: All placemarks list view updated.
  • Feature: Icon on map updates as you change type.
  • Feature: Allow for overlay images in Locations JSON!
  • Feature: Data page /placemarks-data/ to act as api for external maps


  • Bug fix: Only set up map if map_canvas is found on page


  • Bug fix: Fixed comment error on pages with shortcode


  • Bug fix: Only enqueue js on placemark admin pages
  • Bug fix: Fix error on pages with comments
  • Feature: Add edit link to each placemark on map


  • First version to be released.