Web 2.0 Directory Documentation

By: Mihail Chepovskiy
Version: 1.1.7 and higher (there may be separate notes about versions compatibility)

Table of Contents


Installation (v1.8.1 and higher)

To add a WordPress Plugin using the built-in plugin installer:

  1. Go to “Plugins > Add New”.
  2. Click “Upload Plugin” button.
  3. Choose downloaded ZIP file and click “install Now” button.
  4. Make sure that you click on Activate the plugin, now you have installed directory plugin.
  5. Create new page with [webdirectory] shortcode or with [webdirectory custom_home=1] if you wish to build custom home page. Also you may create additional pages with [webdirectory-submit] and [webdirectory-dashboard] shortcodes if you wish your logged in users to manage their listings, invoices and profile on the frontend dashboard page.

How to update

Simply unpack the archive and upload all new files and folders to your server, that is all, the system will automatically execute required operations. All files and folders must be uploaded using FTP-client (like FileZilla) or using file manage in your hosting control panel.


Installation (before v1.8.1)

Installation of plugin is the simplest process that you can imagine, just 3 usual steps:

  1. installation_ftpUnpack the archive and upload all files and folders to “/wp-content/plugins/” folder on your server. All files and folders must be uploaded using FTP-client (like FileZilla) or using file manage in your hosting control panel.
  2. There must be 4 new plugins, activate them through the “Plugins” menu in WordPress. First of all activate “Web 2.0 Directory core” plugin, then others if needed.
  3. Create new page with [webdirectory] shortcode or with [webdirectory custom_home=1] if you wish to build custom home page. Also you may create additional pages with [webdirectory-submit] and [webdirectory-dashboard] shortcodes if you wish your logged in users to manage their listings, invoices and profile on the frontend dashboard page.

Getting started

So you get your instance of the plugin installed and ready for use. Now lets set up most important settings and options. Note that you may manage and change following settings in any time you want, but it is recommended to set up before your directory script becomes public. Here is some recommendation on how to get familiar with the plugin in right way:

  1. first of all configure your directory using special built in settings
  2. set up listings levels, by default there is one “Standard” level
  3. manage existing core fields and create additional content fields for your needs
  4. build your own directory categories tree and tags
  5. work with locations: define directory locations tree and look at locations levels
  6. create some test listings and explore how listings behave themselves at the frontend, which additional options and tools they have

Directory settings

First of all look at “Directory Admin -> Directory settings” page. There are 5 separate tabs with own groups of settings.

settings_bar

General settings tab

Directory title – this string will appear in the title of all frontend pages related with the directory plugin.

Category slug – this is a part of URL for categories sections, for example, in this URL http://www.yoursite.com/directory/web-category/business/ business – is the name of category and web-category – is the slug.

Tag slug – this is a part of URL for tags sections, for example, in this URL http://www.yoursite.com/directory/web-tag/service/ service – is the name of tag and web-tag – is the slug.

Frontend color palette – more info about this option you may find at customization section.

reCaptcha settings – reCaptcha is used on contact listing owner forms and frontend submission form. You may get your reCAPTCHA API Keys here

Also at this tab you may find additional settings for frontend submission if appropriate module was enabled.

 

Listings settings tab

Show listings on index – this option controls whether to show listings on index page.

Number of listings on index page – also this number of listings will take part in building Google maps in appropriate page.

Number of listings on excerpt page – also this number of listings will take part in building Google maps in appropriate page.

Do listings have own pages? – this option could disable listings self pages, so there will not be any links to listings pages, just that information on excerpt pages.

Place listing images gallery on separate tab? – when enabled – all additional images those were assigned with the listing will be placed on a separate tab like map, comments, contact form or videos. When disabled – they will be placed under the logo image of current listing.

Enable lightbox slideshow? – (since v1.5.0) this adds functionality to watch listings images as full size animated slideshow. Also may be disabled in order to avoid conflicts with other javascript slideshow plugins.

Enable contact form on listing page – whether to show contact listing owner form in a separate tab on current listing page.

Contact Form 7 shortcode (since v1.5.4) – The plugin was fully integrated with Contact Form 7 plugin. Insert shortcode generated by CF 7 plugin and CF 7 form will be displayed instead of standard contact form. This will work only when CF 7 plugin enabled, otherwise standard contact form will be displayed.

Enable favourites list – this option allows to enable/disable “My favourites” functionality: if enabled – at the frontend on listings pages it shows “Put in favourites list” and “Out of favourites list“. When user clicks to put in favourites list – the system saves current listing in his personal list, user may click “My favourites” and show all his saved listings. Here is the image how listings frontend panel looks:

front_panel

Show print listing button – show/hide print listing button on current listing page.

Show listing in PDF button – show/hide “Save listing in PDF” button on current listing page. Please note, that this feature uses free 3rd party service pdfmyurl.com. The speed and quality of this service depends on your own server’s and site’s accessibility.

Allow users to change listings expiration dates (since v1.2.0) – with this enabled setting listings owners and administrators may manually set expiration dates of listings, after that date the status of listing become expired. The change of expiration dates available only for listings with limited active period, not for eternal listings.

Hide comments number from index and excerpt pages (since v1.3.2) – the number of comments or reviews will be hidden from index and excerpt pages and visible only on listing pages on special tab.

Hide listings creation date (since v1.3.2) – listings creation date may be hidden at the frontend at all.

 

Ratings settings (since v1.4.1) – all these settings appears when rating module activated. Ability to place ratings may be managed for each listing levels separately. There are 3 settings:

Only registered users may place ratings – this setting restricts unregistered users to rate listings, when this setting unchecked – anyone can rate any listing. Please note, that when user places new rating, the plugin creates new record with ID of registered member, for anonymous users – the plugin stores their IPs, also the plugin saves cookie in user’s browser.

Show rating in map info window – renders 5-stars rating in map info window.

Allow users to flush ratings of own listings – when this option was checked – listing owner has an ability to flush current rating of his listing.

 

Pages & views tab

Categories settings

Show categories list on index and excerpt pages? – whether to show categories list on directory pages or not.

Categories nesting level – when set to 1 – only root categories will be listed

Categories columns number – when categories list displays on index and excerpt pages – this divides by columns.

Show subcategories items number – this is the number of subcategories those will be displayed in the table, when category item includes more than this number “View all subcategories ->” link appears at the bottom.

Show category listings count? – whether to show number of listings assigned with current category in brackets.

Search settings

Display search block in main part of page? (since v1.3.2) – note, that search widget is independent from this setting and this widget renders on each page where main search block was hidden.

Show “What search” section? – show/hide “What search” section in search block. This setting is actual for both: main search block and widget.

Show “Where search” section? – show/hide “Where search” section in search block. This setting is actual for both: main search block and widget.

Show keywords search? (since v1.5.7) – show/hide keywords field in search block. This setting is actual for both: main search block and widget.

Show locations search? (since v1.5.7) – show/hide locations dropboxes in search block. This setting is actual for both: main search block and widget.

Show address search? (since v1.5.7) – show/hide address field in search block. This setting is actual for both: main search block and widget.

Show listings counts in locations search dropboxes? (since v1.4.0) – whether to show number of listings assigned with current location in brackets.

Show categories search? (since v1.5.7) – show/hide categories dropboxes in search block. This setting is actual for both: main search block and widget.

Show category listings count in search dropboxes? – whether to show number of listings assigned with current category in brackets.

Show locations radius search? (since v1.5.7) – show/hide radius slider in search block. This setting is actual for both: main search block and widget.

Dimension in radius search – which dimension to use: miles or kilometers.

Minimum radius search (since v1.5.4) – set the minimum value for radius slider.

Maximum radius search (since v1.5.4) – set the maximum value for radius slider.

Default radius search (since v1.5.7) – this value will be set by default.

Sorting settings

Show order by links block (since v1.5.8) – whether to show “order by …” links.

Allow sorting by date (since v1.5.8) – whether to show “order by date” link.

Allow sorting by title (since v1.5.8) – whether to show “order by title” link.

Default order by (since v1.5.8) – by default listing will be ordered by this parameter.

Default order (since v1.5.8) – default direction of ordering.

Allow sorting by distance when search by radius (since v1.5.8) – whether to show “order by distance” link.

Allow sorting by ratings (since v1.5.8) – whether to show “order by rating” link.

 

Maps settings tab

Show map on index page? – whether to show Google map on index directory page.

Show map on excerpt page? – whether to show Google map on excerpt directory pages.

Show directions panel for the listing map? – frontend users may pave the route on Google map and get the list of directions for selected location separately, note that there may be more than 1 location of each listing.

Default Google Maps zoom level – this zoom level is used during new listing creation, the range is 1-19. 1 – the lowest zoom (whole world), 19 – the highest zoom (individual buildings, if available).

Google Maps style (since v1.3.0) – ability to set custom Google Map style, by default there are 10 map styles, information about map styles stores in php array in “maps_styles.php” file.

Show cycle during radius search? (since v1.4.0) – by this option you may hide red transparent cycle that appears on map during locations search in radius.

Enable clusters of map markers? (since v1.4.0) – when checked – map markers will be grouped in clusters.

Default country/state for correct geocoding (since v1.5.8) – this value needed when you build local diirectory, all your listings place in one local area – country or state. You do not want to set countries or states in the search, so this hidden string will be automatically added to the address for correct geocoding when you create/edit listings.

 

Email notifications settings tab

Days before pre-expiration notification will be sent – one time email with pre-expiration notification text will be sent to the email box of listing owner.

Pre-expiration notification – 2 tags used [listing] – listing name and [days] – number of days from previous setting.

Expiration notification – 2 tags used [listing] – listing name and [link] – the link to the listing.

 

Advanced settings tab

Do not include Google Maps API (since v1.6.2) – some themes and 3rd party plugins include Google Maps API – this may cause conflicts and unstable work of maps. When enabled – maps.google.com/maps/api will not be included.

 

Payments tab

This tab appears after activation of payments module.


Directory categories

Site admin may create/edit/delete special categories items. Management of directory categories tree has exactly the same functionality as standard WordPress categories, but these are separate items and have special administration page “Directory listings -> Directory categories”.

Also custom icons may be associated with directory categories (since v1.1.7):

categories_icons

By default there are 77 icons files inside “resources/images/categories_icons/” folder of the plugin. Site administrator may upload additional icons in this folder via the Files manager of hosting control panel or via FTP.


Directory locations

Site admin may create/edit/delete special predefined locations items. Management of directory locations tree has exactly the same functionality as standard WordPress categories, but these are separate items and have special administration page “Directory listings -> Directory locations

Locations levels

Just in some words, locations levels – these are names of nesting levels of directory locations tree. By default there are 3 locations levels: Country, State and City. Site admin has an ability to edit/remove or create new locations levels. But note, that in most of cases, whole chain of locations is required to set correct location point on Google maps. This means that when your directory will be used locally, for example, for users of only one country or state/region – do not delete unnecessary locations levels and locations, they are required to set correct location point at the Google map during listings creation. You’ll just exclude needed locations levels from address line – yes, there is such option for each locations level, it allows to build custom address line at the frontend:

locations_levels_addresses

After locations levels were successfully configured and locations tree completed – users may select any predefined location from select boxes group on create/edit listing page:

listing_locations_selectboxes

Note, that there is an ability to select more than 1 location for each listing.


Listings levels

Levels of listings control the functionality amount of listings and their directory/classifieds conception.
Each listing may belong to one of defined levels, some may have eternal active period, have sticky status and enabled google maps, others may have greater number of allowed attached images or videos. It is perfect base for business model of your directory or classifieds site. On “Directory Admin -> Listings levels” page you may order existed levels by drag & drop rows in the table, the order of levels affects on listings sorting. Here is the list of listings levels options:

Level name – uses in the advertise table on the 1st step of listings creation. Special note: by default there is one standard listing level after installation of the plugin and the system doesn’t show advertise table on the 1st step of listings creation, because it doesn’t need to select the level for newly created listing.

Level description – uses only in the advertise table on the 1st step of listings creation.

Active period – in years, months and days. During this period the listing will have active status, then the status of listing become expired. After expiration listing owner or admin may prolong and renew listing.

Eternal active period – when enabled – listings of this level will never become expired.

Ability to raise up listings – if this option is checked – listing owner or admin may raise listing up in all lists those ordered by date.

Sticky listings – if this option is checked – listings of this level will be always sticked on top of all lists those ordered by date.

Featured listings – listings of this level have special css class “w2dc_featured”, may be customized to be highlighted and attract attention.

Enable google map – users have an ability to place location(s) marker on Google map.

Enable listing logo – listings of this level own uploaded image as logo.

Listing logo size – the size of logo image especially for this listings level, possible size names: thumbnail, medium, large. Real sizes in pixels admin may configure on WordPress “Settings -> Media” page.

Images number available – the number of images allowed to upload for listings of this level.

Videos number available – the number of YouTube videos allowed to embed for listings of this level.

Categories number available – the number of categories allowed to be assigned with listings of this level. When during listing creation/edition user exceeded this number – the warning message will arise. Also it is possible to set unlimited number of categories.

Assigned categories – admin may define some special categories, those would be available for listings of this level. When during listing creation/edition user will click unavailable category checkbox – the warning message will arise.

 

With enabled ratings module here will be shown additional setting:

Ratings – enables ratings for all listings of this level.

 

Locations number available – An ability to set exact number of locations allowed for each level, by default only 1 location allowed.

Custom markers on google map – whether listings of this level may own custom marker icons on the map.

Also at this list may be 2 additional settings for payments module:

Listings price – by this price users will be charged for listings activation and renewal.

Listings raise up price – by this price users will be charged for listings raise up option.


Content fields

Additional content fields is one of the most important part of the directory and classifieds sites. They allow to add some piece of information to directory listings. Also content fields take part in the search of listings. On “Directory Admin -> Content fields” page you may order existed content fields by drag & drop rows in the table.

content_field_row

Each content field belongs to the type that defines its behaviour and display. You may hide field name, select custom field icon, set field as required, manage visibility on pages. Also listings may be ordered by some fields. Note that you may assign fields for specific categories.

Content fields types:

  • Content (core field type)
  • Excerpt (core field type)
  • Listing addresses (core field type)
  • Listing categories (core field type)
  • Listing tags (core field type)
  • Text string
  • Textarea
  • Number
  • Select list
  • Radio buttons
  • Checkboxes
  • Website URL
  • Email
  • Date-Time
  • Price

There are 5 core field types, during initial installation the system creates 5 content fields – one field of each core field type. Core fields have special destination. This is impossible to delete any of these fields in future either create new field of core type, they will be always displayed on listing administration page. You can’t edit slugs of these fields, can’t order by them, can’t set specific categories list, can’t use in search.

Here are common settings of fields types:

Field name – required and used on listings administration page and in the search block.

Field slug – this option required and isn’t able to edit for core fields.

Hide name – when checked – the name of field will be hidden at frontend pages.

Field description – this will be like a hint for users who fill in details into field.

Icon image – set own custom icon for any content field, this will be displayed at frontend pages. By default there are 316 icons files inside ‘resources/images/content_fields_icons/‘ folder of the plugin. Site administrator may upload additional icons in this folder via the Files manager of hosting control panel or via FTP.

Field type – it is possible to change field type, but only for non-core fields.

Is this field required? – most of types of fields can be set as required and some can not – listings categories, listings tags, listings addresses.

Order by field – listings may be ordered by content fields

On excerpt page – show value of this field on index and excerpt pages.

On listing page – show value of this field on listings pages.

On map – show value of this field in map info window. Address field always on top: map_info_window

Search by this field? – take part in the search of listings. Some field types have special configuration options.

On advanced search panel? – when disabled – this field will appear in regular search block, when enabled – this field will be hidden by default and appear only in advanced search block

 

Now detail about each content field type separately:

Content (core field type)

At the backend this is richtext editor field to store general content of listings. Can’t be ordered by its value, can’t be searched by its value. By default this field is hidden on index and excerpt pages and visible only on listings pages.

Excerpt (core field type)

The WordPress Excerpt is an optional summary or description of a listing; in short, a listing summary. Can’t be ordered by its value, can’t be searched by its value. By default this field is shown on index and excerpt pages and hidden only on listings pages.

Listings addresses (core field type)

This is a block of listing locations and addresses. Can’t be ordered by its value, can’t be required, has special search block. This block of fields is controlled by locations manager and listings levels settings.

Listings categories (core field type)

This is a block of categories, those were assigned to listing. Can’t be ordered by its value, can’t be required, has special search block. This block of fields is controlled by categories manager and listings levels settings.

Listings tags (core field type)

This is a block of tags, those were assigned to listing. Can’t be ordered by its value, can’t be required.

Text string

Uses to insert short text/string data. At the backend displays as pure HTML input element. Can be ordered by its value, can be required, can take part in search. Has own special configuration and search configuration options:

Max length – max number of characters allowed in this field.

Input HTML field size – this is simply the value in size=” “ HTML attribute of the input tag.

PHP RegEx template – this interesting option allows to set the format of field. For example, such RegEx: \(?([1-9]\d{2})(\)?)(-|.|\s)?([1-9]\d{2})(-|.|\s)?(\d{4}) matches phone number format: (xxx) xxx-xxxx

Textarea

Uses to insert long text data. At the backend displays as pure HTML textarea element. Can’t be ordered by its value, but its values make take part in search. Also have “Max length” setting.

Number

Uses to insert numeric data. At the backend displays as pure HTML input element. Can be ordered by its value, can be required, can take part in search. Has own special configuration options:

Is integer or decimal – choose how to format the value of this field.

Decimal separator – possible values: dot or comma.

Thousands separator – possible values: no separator, dot, comma or space.

Min – you may set minimum bound of this field. Leave empty if you do not need to limit this field.

Max – you may set maximum bound of this field. Leave empty if you do not need to limit this field.

Special search configuration options:

Search mode – 2 modes available: enter exact number in search field or provide an ability to search using min-max combination of select boxes.

Min-Max options – when second search mode selected – just complete the list of options.

Select list

At the backend displays as selectbox HTML input element. Can’t be ordered by its value, but its values may take part in search. On configuration page admin may complete selection items, also in the search block these items will be rendered as a group of checkboxes HTML inputs.

Radio buttons

Fields of this type inherit all features and settings from “select list” field type. At the backend displays as radio buttons group of HTML input elements.

Checkboxes

Fields of this type inherit all features and settings from “select list” field type. At the backend displays as checkboxes group of HTML input elements. At the frontend this field looks like HTML unordered list.

Website URL

At the backend this is a combination of 2 HTML inputs: the first input for a URL of link and the second for a text of link. Can’t be ordered by its value, can’t take part in search. At the frontend looks like a link. Has 2 configuration settings:

Open link in new window – when checked – the system adds target=”blank” attribute to the link.

Add nofollow attribute – when checked – the system adds rel=”nofollow” attribute to the link.

Email

At the backend displays as pure HTML input element. Can’t be ordered by its value, can’t take part in search. At the frontend looks like mailto link.

Date-Time

content_field_datetime_input

At the backend this field inherits the behaviour of jQuery UI datepicker widget. Has special configuration setting to include time-selection feature.

Can be ordered by its value. Also in the search block this field renders as 2 separate inputs to search by date range.

 

 

 

Price

Fields of this type has very much like behaviour as number field type, but it is always decimal and besides “Decimal separator” and “Thousands separator” settings it owns 2 additional configuration settings: “Currency symbol” and “Currency code”. The same special search configuration options: “Search mode” and “Min-Max options list“. How it looks like in search block:

content_field_price_search

 

Category-specific content fields

As was told earlier, it is possible to set some fields (except core fields) to function only when exact specific categories were checked on listings administration page. The same functionality appears at the search block. This is important and powerful feature allows to build category-specific content fields.
For instance: there may be one ‘price’ field especially in ‘Classifieds/For sale’ category and all its subcategories, so this field will appear only in listings, those were assigned with those categories.


Directory listings

Listings of the directory very much like standard WordPress posts, except some things and additional features. Creation of new listing begins with choosing of listing level (when there are more than 1 level in the system). This is the first step and it defines functionality and behaviour of newly created listing.

Listings creation and management

Listings administration page may contain standard fields and metaboxes such as: title field, richtext editor for listing description, slug and excerpt fields, comments metabox. Also, according to the level of current listing, this page contains special metaboxes: listing categories, listing locations, content fields, media metabox with forms for images uploading and YouTube videos embedding.

When you click “Update” or “Publish” button on the listing administration page – the system tries to save listing details, when all required conditions were kept (all required fields completed, matched their formats and location, categories, images, videos items do not exceed their limits) – the listing will be saved successfully, the listing status becomes “active” and the system sets expiration date (when the active period of level of current listing is not eternal). If something goes wrong – the post status becomes “draft” and warning message with the list of issues appears. Note, that title field is required.

Each directory listing has special metabox on its administration page:

listing_info_metaboxListing Info” metabox have some information fields: choosen listing level, listing status, order date and expiration date.

Note: listing status IS NOT the same thing as post status, listing status may be “active“, “expired” or “unpaid“. Post status may be “published“, “pending review” or “draft“.

 

Listing row on “Directory listings” page and “Listing Info” metabox place possible “raise up listing” and/or “renew listing” links.

listings_management

Raise up listing option

This option displays when the level of current listing has “Ability to raise up listings” enabled setting. This feature will raise up the listing to the top of all lists, those ordered by date. For more information look at the sorting section. This feature may be payment.

Renew listing option

This option displays when level of current listing has not enabled “Eternal active period” and current listing is under “expired” status. This feature processes directory listing renewal. After renew process was completed successfully the listing status becomes “active” and the system sets new expiration date. Also this function raises up the listing to the top of all lists, those ordered by date. This feature may be payment.


Search block divided in 3 sections: “What search“, “Where search” and “Advanced search block

What search section

This section includes keywords search field. Also allows to use categories filter and search by content fields, not all content fields have an ability to search listings by their values.

Where search section

There are locations search filter and “Search by address or zip code” field in this section. “Search by address or zip code” field is the autocomplete field, this helps users to choose item from existed addresses or zip codes.

Advanced search block

This block is hidden by default and used only for search by content fields. You may choose to hide search content field under “Advanced search” link, in order to make search block a bit smaller when there are lots of search fields enabled.


Sorting of listings

Each frontend page that displays the list of listings has “Order by” set of links.

ordering

First of all listings always process the order according to their levels’ weights. So it is additional tool for commerce model of the directory site – place listings of featured levels higher than other listings. Then at the second stage each list sorts by date (here may be useful “raise up listings” feature), except search by radius page. When user searches listings in radius – default sorting is by distance from center point.

Some content fields also may take part in sorting. Clicking sorting links allows to change order direction from ascending to descending and vice versa.

You may find special sorting settings including “Default order by” setting on “Pages & views” tab.

When ratings module enabled – in the “Order by” set of links appears new option to order by listings rating.

Special attention to sticky listings – they are always on top of all lists except ordering by distance.


Google Maps and marker icons

By default each frontend page renders map when there are any listings with assigned locations and defined markers. Also it is possible to disable maps on index or excerpt pages in directory settings.

Here is simple example of how Google map looks with custom marker icons and special radius search layer:

google_map

When appropriate level setting is checked (Custom markers on google map) – during listings creation/edition users may select custom marker icons. By default there are 12 subfolders with icons files inside “w2dc/resources/images/map_icons/icons/” folder. Site administrator may upload additional icons in this folder via the Files manager of hosting control panel or via FTP.

During listings creation/edition there is an option to set marker coordinates (latitude and longitude) manually or by drag & drop of existing marker by mouse.

listing_locations_generate_map

Clicking “Generate on google map” button processes targeting and compiling of addresses to render markers on the map.


Frontend dashboard and listings submission

These features becomes available when “Web 2.0 Directory frontend submit” module is activated.

Create new page with [webdirectory-dashboard] shortcode if you wish your logged in users to manage their listings, invoices and profile on the frontend dashboard page (since v1.5.0).

Submit new listing” button appears on front panel, clicking this button – users start the process of listing creation divided in some steps. Note, that the page with [webdirectory-submit] shortcode required (since v1.5.0).

Special note for frontend submission and management of listings: check which role you give to new users https://codex.wordpress.org/Roles_and_Capabilities. Authors can edit published posts, subscribers and contributors can not. Wrong permissions of users roles may cause some problems, by default users (subscribers and contributors) will not see links to edit, delete, raise up listings on the dashboard page, also they can not upload images during listings creation.

listings_creation_steps

Number of steps varies according to different conditions: log in step may be missed if user was already logged in, payment step either doesn’t required for free listings.

There are 6 settings with this module:

Select frontend submission login mode:

  • login required – since version 1.5.0 logged in users have an ability to manage their listings, invoices and profile on the frontend dashboard page.
  • necessary to fill in contact form – after successful submission WordPress creates new user profile. If user with entered email already exists in the system – it doesn’t required to create new profile and listing will just be assigned with existed user. Later admin may manage and contact new user when needed. For new users registration email with newly generated password will be sent.
  • not necessary to fill in contact form – the same behaviour as for previous option, but it does not required to enter contact info. For empty contact form the system creates anonymous user. Registration email will be sent when user enters contact email.
  • do not even show contact form

Post status after frontend submit

Define which status listing post will receive after successful submission: Pending Review, Draft or Published.

Post status after listing was modified (since v1.5.0)

Define which status listing post will receive after modification: Pending Review, Draft or Published.

Enable submit listing button (since v1.5.0)

Enable this option if you wish your users to submit new listings for the directory. Also the page with [webdirectory-submit] shortcode required.

Hide top admin bar at the frontend for regular users and do not allow them to see dashboard at all (since v1.5.0)

When this option enabled – regular user will never see backend of your site. It is recommended to enable when you have the page with [webdirectory-dashboard] shortcode.

Allow users to manage own profile at the frontend dashboard (since v1.5.4)

Enable this option if you wish your users to manage own profile at the dashboard.

Registration of new user email notification (since v1.5.0) – at “Email notifications” settings page

This email notification will be sent when new user enters his email in contact form during listing submission.


Payments (since v1.2.0)

This option becomes available only when “Web 2.0 Directory payments” module was enabled.

Invoices management page appears at the backend. Authors have access only to own invoices, administrators have permissions to manage any invoices.

directory_invoices

Each invoice has one of following statuses: unpaid, pending or paid. Invoice item – is an object to which this invoice belongs to.

There are 4 types of pay services:

  • listings activation – this type of service available for subscription and one time payment. After successful payment the listing status becomes “active” and displays at the frontend.
  • listings renewal – this type of service available for subscription and one time payment. This feature processes directory listing renewal. After renew process was completed successfully the listing status becomes “active” and the system sets new expiration date.
  • listings raise up – this is the service for one time payment. This feature will raise up the listing to the top of all lists, those ordered by date. For more information look at the sorting section.
  • listings upgrade (since v1.6.0) – this is one time payment service. Charge users if they wish to upgrade their simple listings to featured or sticky.

Invoice management page provides whole information about current invoice: the reason of invoice, invoice item, invoice status, author, price, item options, also invoice log – this is the history of actions processed with this invoice.

Users are allowed to process some actions with invoices, such as print invoice with all assigned information or reset selected gateway. Also there is special action button “Set as paid” only for administrators. This allows to set up invoice status as paid manually and processes further actions. Usually this needed to complete invoices with chosen “Bank transfer” payment gateway.

payment_gateways

Available payment gateways:

  • PayPal – this method for one time payment.
  • PayPal subscription – users may use this method to process automatic recurring payments. Look at additional information below.
  • Stripe (since v1.6.0) – a beautiful, optimized, cross-device, payment form.
  • Bank transfer – this is semi-automatic method of payment. User selects this method, prints invoice, transfers the payment to vendor, then when site administrator will receive payment – he will manually set invoice as paid by special action button “Set as paid“.

PayPal Subscriptions

Using this payment gateway directory listings owners do not need to prolong their ads each time they have been expired. They may choose to open subscription and pay automatically by recurring cycle. The only condition is that PayPal accepts only one duration unit – this means that active period of listings for subscription must be only in days, months or years, in other case active period may be rounded. So it is recommended to set active period only in days, only in months or only in years. Examples:

  • advertisement active period 3 days and 2 months – rounded to 2 months
  • advertisement active period 15 days, 2 months and 1 year – rounded to 14 months
  • advertisement active period 30 days and 1 month – rounded to 1 months
  • advertisement active period 30 days – this will not be rounded

Also, please note, that PayPal subscriptions available only for listings, those do not have eternal (unlimited) active period.

 

After activation of payments module – on directory settings page new tab “Payments” will appear with following settings:

General payments settings

Any services are Free for administrators – when this option checked – the system will never create invoices for administrators, all services always will be free for them.

Currency – the list of possible currencies used for payments.

Currency symbol or code – this symbol or code will appear on frontend/backend pages.

Currency symbol or code position – choose preferred position of currency symbol/code.

Decimal separator – decimal separator of price value, possible values: dot or comma.

Thousands separator – thousands separator of price value, possible values: no separator, dot, comma or space.

Bank transfer settings

Allow bank transfer – allow users to select “Bank transfer” payment method.

Bank transfer information – this information appear on print invoice page. Provide whole instructions and payment requisite.

PayPal settings

Business email – PayPal merchant email.

Allow subscriptions (only for listings with limited active period) – when this option is checked – “PayPal subscription” payment gateway available. Look at additional information above.

Test Sandbox mode – allows to test the process of payment using PayPal sandbox credentials. You must have a PayPal Sandbox account setup before using this feature.

Stripe settings

Test secret key

Test publishable key

Live secret key

Live publishable key

The publishable key is used to generate credit card tokens and should be included with the HTML form. The secret key is used for all other API calls on the server-side.

Test Sandbox mode – You can only use Stripe in test mode until you activate your account.


Directory widgets

Web 2.0 Directory plugin provides 4 types of widgets: listings, categories, search and social. Each widget type has own settings. Title setting is common for all widgets, also one common setting “Show only on directory pages“, by enabling this setting the widget will appear only on directory pages: home directory page, categories and tags listings pages, search page, single listing pages.

Listings widget

This widget renders the list of the most recent listings ordered by date. You may set the number of listings to display, also configure to place sticky and featured listings on top of the list or to display only sticky and featured listings.

Categories widget

Categories widget renders the list of all directory categories with their icons. Available settings: categories nesting level – when set to 1 – only root categories will be listed. Also it is possible to display the number of listings of each category item. “Show subcategories items number” – this is the number of subcategories those will be displayed in the table, when category item includes more than this number “View all subcategories ->” link appears at the bottom.

Search widget

This widget displays directory search form in the view adapted for sidebars. Widget search form has the same search fields as main search form. There is a setting that allows to hide search widget when main search form is already on the page.

Social widget

Displays icons with links to your social accounts. You may set separate URLs for each social account. Also the link to your RSS feed.


Custom Home Page (since v1.7.0)

By default the order of content blocks of [webdirectory] shortcode can not be changed: search form, categories block, google map, listings block. But there is a possibility to set up custom layout.

custom_home_page_structure

When you set up [webdirectory custom_home=1] – the shortcode displays only listings, no map, no categories block, no search form. This special mode allows to build custom directory home page as you wish using additional shortcodes:

  • [webdirectory-categories custom_home=1] – categories shortcode renders corresponding categories navigation menu.
  • [webdirectory-map custom_home=1] – Google map with custom_home=1 parameter displays markers of assigned listings locations from [webdirectory custom_home=1]

The plugin is fully compatible with WordPress Visual Composer plugin, this is the best way to build pages using VC plugin with its amazing backend editor.


Customization

The customization of the directory does require some experience with HTML, CSS and even PHP to change the templates around to an arbitrary theme look. Plugin templates are designed to work relatively well with most themes, but if you do have the need to override these templates to match your theme please try to follow these conventions:

  • if you want to change the layout or styles of directory section on your site do not modify existing files, instead copy them and give exactly the same name to new file, just add “-custom” postfix to the end of name before file’s extension. For example, frontend.css file must be renamed to frontend-custom.css. Using such method will save your modifications during further updates
  • the same convention for any templates – .tpl files in “templates/” folder
  • other part of customization is that you may manage categories icons, map markers icons and content fields icons

The inclusion of CSS files on frontend pages has following order:

  1. w2dc/resources/css/bootstrap.css – basic CSS rules
  2. w2dc/resources/css/frontend.css – main file, controls the layout of directory markup
  3. one of color scheme files, these files place in “w2dc/resources/css/color_schemes/” folder
  4. w2dc/resources/css/frontend-custom.css – (optional) custom main fronted file

The directory has special setting to choose any of color scheme files: color_scheme_setting

By clicking on bottom link – you’ll be redirected to the index page of directory, there will be special interactive widget helping to compare color palettes:

color_palette_widget

When you want to finish and hide this widget – click bottom link and you’ll be redirected to the settings page, preferred color palette already will be selected and you just need to save changes. While you didn’t click on save changes button, this widget still be at the frontend.

 

 

 

 

 

 

 


Translations & Multi-Language Support

Web 2.0 Directory plugin is fully adapted for translations – core plugin and each additional module has own “languages/” folder with .pot and .po files. Use poEdit to translate .pot files.

WPML (since v1.6.2)

The plugin fully compatible with WPML plugin. It allows to easily translate directory listings, directory categories, tags, predefined locations. Also users may manage listings translations at the frontend of the site.

translations

Note: main directory page must have translations in those languages you wish to operate. The same thing with dashboard and submission pages.

When user clicks “Add translation to …” button add_translation – new copy of corresponding listing in selected language will be created. This will be exact copy of listing from the original language, directory categories, locations and content fields assigned with this listing will be copied either.

Note, that listing operations are strongly connected beetween translations, this means that when user or admin clicks to activate, renew, raise up, change listing level or when the active period of listing expires – all related translations also will process these oprations. But content of translations is independent, also each translation may be deleted independently.

When WPML plugin is active – new settings appear on Advanced tab of directory settings page:

Enable automatic translations – when enabled – after successfull submission new listing will be copied automatically to all active languages.

Enable frontend translations management – this allows to manage translation directly from frontend dashboard.


CSV Import (since v1.3.1)

  1. On the second step of importing you’ll collate CSV headers of columns with existing listings fields, this means there isn’t fixed format for CSV files.
  2. The only required columns in CSV file those define new listings titles and level IDs. Also information about author must be provided – in any column of CSV file or by setting existed author in import settings.
  3. In order to assign categories/tags with each listing – specify category/tag slugs in one CSV column and separate them with special delimiter. This delimiter must be any string character, but not the same as the delimiter for separation of CSV columns.
  4. You may set to auto-create new directory category/tag. In such case, when there isn’t any existing category/tag with provided slug – new root category/tag will be created automatically and that string in the CSV column will be used as category/tag name.
  5. MultiValues – are such fields, those may have more than one value, for example, checkboxes content field. Separate them in one CSV column with special delimiter in the same way as for assigned categories.
  6. Also you may upload ZIP archive with images files for new listings. Specify names of images files in one CSV column and separate them with special delimiter in the same way as for assigned categories. Note, that images files must be in the root inside ZIP archive, not inside folder.
  7. By default listings authors will be specified in one of CSV columns, there must be existed user ID, user login or user email. Also you may switch to assign all new listings with one specific existed user.
  8. 2 possible ways to import addresses and locations for new listings: define already existed directory location ID or you may select up to 4 address parts in different CSV columns (e.g., building number in one column, street in another column, city in separate column, ……). Also you may set special column for names of existed map icons files.
  9. When you do not have latitude/longitude information for Google Maps markers – Google geocoding service may be used to build markers points from addresses (CURL extention required), but you can only import maximum of 2500 addresses per day, this is the max query limit of the Google geocoding service, unless you have a Google Maps API business license.
  10. When the size of your CSV file is very large – this may slow down the server and break the process of import, you may try to split the file into smaller CSV files.
  11. Recommended to make whole backup of the database before import.