Этот плагин не тестировался с последними 3 основными выпусками WordPress. Скорее всего, он уже не поддерживается и может быть несовместим с текущими версиями WordPress.

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

Отзывы

Посмотреть 1 отзыв

Участники и разработчики

«Store Directory» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

Перевести «Store Directory» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

0.1

Brand new plugin. Enjoy!