Title: Store Directory
Author: Matthew Boynes
Published: <strong>2014 年 1 月 2 日</strong>
Last modified: 2014 年 1 月 3 日

---

搜尋外掛

這個外掛**並未在最新的 3 個 WordPress 主要版本上進行測試**。開發者可能不再對這個
外掛進行維護或提供技術支援，並可能會與更新版本的 WordPress 產生使用上的相容性問題。

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

# Store Directory

 由 [Matthew Boynes](https://profiles.wordpress.org/mboynes/) 開發

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

 * [詳細資料](https://tw.wordpress.org/plugins/store-directory/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/store-directory/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/store-directory/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/store-directory/#developers)

 [技術支援](https://wordpress.org/support/plugin/store-directory/)

## 外掛說明

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';`

## 安裝方式

 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()`

## 使用者評論

![](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/) 2017 年 2 月 8 日

Excellent plugin, has helped our business in many ways

 [ 閱讀全部 1 則使用者評論 ](https://wordpress.org/support/plugin/store-directory/reviews/)

## 參與者及開發者

以下人員參與了開源軟體〈Store Directory〉的開發相關工作。

參與者

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

[將〈Store Directory〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/store-directory)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/store-directory/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/store-directory/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/store-directory/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/store-directory/)。

## 變更記錄

#### 0.1

Brand new plugin. Enjoy!

## 中繼資料

 *  版本 **0.1**
 *  最後更新 **12 年前**
 *  啟用安裝數 **10+**
 *  WordPress 版本需求 ** 3.0 或更新版本 **
 *  已測試相容的 WordPress 版本 **3.7.41**
 *  語言
 * [English (US)](https://wordpress.org/plugins/store-directory/)
 * 標籤:
 * [directory](https://tw.wordpress.org/plugins/tags/directory/)[Google Maps](https://tw.wordpress.org/plugins/tags/google-maps/)
   [location](https://tw.wordpress.org/plugins/tags/location/)[maps](https://tw.wordpress.org/plugins/tags/maps/)
   [store](https://tw.wordpress.org/plugins/tags/store/)
 *  [進階檢視](https://tw.wordpress.org/plugins/store-directory/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  1 個 5 星使用者評論     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/store-directory/reviews/?filter=1)

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

[查看全部使用者評論](https://wordpress.org/support/plugin/store-directory/reviews/)

## 參與者

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

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/store-directory/)