Title: Store Directory
Author: Matthew Boynes
Published: <strong>January 2, 2014</strong>
Last modified: January 3, 2014

---

Search plugins

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.

![](https://s.w.org/plugins/geopattern-icon/store-directory.svg)

# Store Directory

 By [Matthew Boynes](https://profiles.wordpress.org/mboynes/)

[Download](https://downloads.wordpress.org/plugin/store-directory.0.1.zip)

 * [Details](https://az-tr.wordpress.org/plugins/store-directory/#description)
 * [Reviews](https://az-tr.wordpress.org/plugins/store-directory/#reviews)
 *  [Installation](https://az-tr.wordpress.org/plugins/store-directory/#installation)
 * [Development](https://az-tr.wordpress.org/plugins/store-directory/#developers)

 [Support](https://wordpress.org/support/plugin/store-directory/)

## Description

This plugin adds a store/location directory to your WordPress site. Once you add
stores, you can add the Store Search widget to your widget area or you can add the
form to your theme manually.

This plugin is intentionally light and simple. It’s very flexible and is intended
to be something on which you can build.

### Filters

#### wpsd_radius_options

Param: `array( 5, 10, 25, 50, 100 )`

This filter allows you to modify the options in the radius dropdown in the store
search form. Values are in miles by default.

#### wpsd_register_post_type

Param: `true`

This filter allows you to disable the `store` post type altogether. To do so, simply
add `add_filter( 'wpsd_register_post_type', '__return_false' )` to your theme or
plugin.

#### wpsd_post_type_args

This filter gives you the ability to modify the arguments passed to `register_post_type()`
for the ‘store’ post type. See [register_post_type in the Codex](https://codex.wordpress.org/Function_Reference/register_post_type)
for valid arguments and values.

Param:

    ```
    array(
        'public'      => true,
        'has_archive' => true,
        'supports'    => array( 'title' ),
        'labels'      => array(
            'name'                => __( 'Stores', 'store-directory' ),
            'singular_name'       => __( 'Store', 'store-directory' ),
            'all_items'           => __( 'Stores', 'store-directory' ),
            'new_item'            => __( 'New store', 'store-directory' ),
            'add_new'             => __( 'Add New', 'store-directory' ),
            'add_new_item'        => __( 'Add New store', 'store-directory' ),
            'edit_item'           => __( 'Edit store', 'store-directory' ),
            'view_item'           => __( 'View store', 'store-directory' ),
            'search_items'        => __( 'Search stores', 'store-directory' ),
            'not_found'           => __( 'No stores found', 'store-directory' ),
            'not_found_in_trash'  => __( 'No stores found in trash', 'store-directory' ),
            'parent_item_colon'   => __( 'Parent store', 'store-directory' ),
            'menu_name'           => __( 'Stores', 'store-directory' ),
        )
    )
    ```

#### wpsd_automap

Param: `true`

By default, a Google Map is added to the store archive views and store singular 
views using the `'loop_start'` action. This may not be desirable in all circumstances,
especially if you loop through your posts multiple times. To disable this, add `
add_filter( 'wpsd_automap', '__return_false' )` to your theme or plugin. If you 
choose to disable this, see the `wpsd_the_map()` tempalte tag to manually display
the map.

#### wpsd_mappable_data

Param:

    ```
    array(
        'name'      => $post->post_title,
        'address'   => get_post_meta( $post->ID, 'address', true ),
        'latitude'  => $post->latitude,
        'longitude' => $post->longitude,
        'distance'  => $post->distance
    )
    ```

Param: `$post`

This filter allows you to customize the data used in the map. There is also a javascript“
hook” that works in tandem with this, `wpsd_custom_create_marker`. To use the data
you pass through the `wpsd_mappable_data` filter, you need to define a javascript
function, `wpsd_custom_create_marker( latlng, data )`. This function should take
two params, where the first is a `google.maps.LatLng` object and the second is an
object with your filtered data. Armed with this data, you can create the marker 
however you need! See `js/maps.js:wpsd_create_marker()` for an example of how to
create a marker.

### Template Tags

#### wpsd_the_store_search_form()

Output the store search form. If you choose not to use the provided widget, this
lets you add the form wherever you’d like.

#### wpsd_the_map()

Param: `$posts` array An array of posts to map. Each entry in the array should contain
the following keys:

 * `'name' =>` The marker title.
 * `'address' =>` The marker address.
 * `'latitude' =>` The latitude of the point.
 * `'longitude' =>` The longitude of the point.
 * `'distance' =>` The distance of the point from the center (optional, not presently
   used).

See `WPSD_Search::get_mappable_data()` for an example.

Param: `$lat` float The latitude of the center point for the map.
 Param: `$long`
float The longitude of the center point for the map.

Output a Google Map with the given points (posts) centered around the given latitude
and longitude.

### Other Notes for Developers

Beyond the above, pretty much everything in this plugin is modifiable by editing
the properties of the singleton classes. Here are some examples:

 * To change the post type, e.g. to be `'location'` instead of store, you can set
   it by calling `WPSD_Post_Type()->post_type = 'location';` from your theme or 
   plugin (ideally during `after_setup_theme` at a priority higher than 10).
 * To change the units from miles to kilometers, `WPSD_Post_Type()->units = 'km';`

## Installation

 1. Upload the plugin to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Add stores via the “Stores” menu in the left.
 4. Add the Store Search widget to your toolbar, or add the search form to your theme
    via `wpsd_the_store_search_form()`

## Reviews

![](https://secure.gravatar.com/avatar/d5b5a5df8b4349f5099d481e4dc9d2f09fb038135614b022d58e4d1535e81479?
s=60&d=retro&r=g)

### 󠀁[Excellent](https://wordpress.org/support/topic/excellent-4425/)󠁿

 [shaeirving1](https://profiles.wordpress.org/shaeirving1/) February 8, 2017

Excellent plugin, has helped our business in many ways

 [ Read all 1 review ](https://wordpress.org/support/plugin/store-directory/reviews/)

## Contributors & Developers

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

Contributors

 *   [ Matthew Boynes ](https://profiles.wordpress.org/mboynes/)

[Translate “Store Directory” into your language.](https://translate.wordpress.org/projects/wp-plugins/store-directory)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/store-directory/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/store-directory/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/store-directory/)
by [RSS](https://plugins.trac.wordpress.org/log/store-directory/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1

Brand new plugin. Enjoy!

## Meta

 *  Version **0.1**
 *  Last updated **12 years ago**
 *  Active installations **10+**
 *  WordPress version ** 3.0 or higher **
 *  Tested up to **3.7.41**
 *  Language
 * [English (US)](https://wordpress.org/plugins/store-directory/)
 * Tags
 * [directory](https://az-tr.wordpress.org/plugins/tags/directory/)[Google Maps](https://az-tr.wordpress.org/plugins/tags/google-maps/)
   [location](https://az-tr.wordpress.org/plugins/tags/location/)[maps](https://az-tr.wordpress.org/plugins/tags/maps/)
   [store](https://az-tr.wordpress.org/plugins/tags/store/)
 *  [Advanced View](https://az-tr.wordpress.org/plugins/store-directory/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/store-directory/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/store-directory/reviews/)

## Contributors

 *   [ Matthew Boynes ](https://profiles.wordpress.org/mboynes/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/store-directory/)