Developers Doc – Directorist https://directorist.com Build your own directory website in the fastest and easiest way Fri, 24 Oct 2025 04:20:20 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://directorist.com/wp-content/uploads/2019/10/cropped-fevicon-32x32.png Developers Doc – Directorist https://directorist.com 32 32 Template Override https://directorist.com/docs/template-override/ Fri, 24 Oct 2025 02:35:51 +0000 https://directorist.com/?post_type=docs&p=368664 Template overriding refers to customizing a template file without making changes to the core file. Generally, when you make changes to the core file, a new plugin update overrides all of your changes. Directorist offers a robust templating system that allows you to override all the Directorist default template files without amending any of the plugin codes.

How Template Overriding Works

  • Locate the plugin template: In the Directorist plugin folder, go to wp-content/plugins/directorist/templates. Find the template file you want to change. For example, the “About” section of the Author Profile page is at: wp-content/plugins/directorist/templates/author/about.ph
  • Copy the file: Make a copy of this template file on your computer.
  • Create matching folders in your theme: In your active theme directory (e.g. wp-content/themes/yourtheme), create a new folder named directorist. Inside it, replicate any subfolders from the plugin’s path. For the example above, you would create directorist/author because the file was in templates/author.
  • Paste the template into your theme: Place the copied file into the new theme folder. Following our example, paste about.php into: wp-content/themes/yourtheme/directorist/author/about.php
  • Edit the theme copy: Now that the file is in your theme, you can safely edit it. WordPress will use this version instead of the plugin’s default. Your changes are preserved even if the plugin updates (because you did not touch the original plugin file).

Example: Author “About” Template

  • Plugin template path: wp-content/plugins/directorist/templates/author/about.php
  • Theme override path: wp-content/themes/yourtheme/directorist/author/about.php

These paths show that the theme file mirrors the plugin’s path after the directorist folder.

By following this structure, Directorist will load your custom template. In this example, once you paste about.php into your theme, you can modify the Author Profile “About” section without affecting core files.

Important Notes

  • Safe from updates: Your custom template file in the theme won’t be overwritten by Directorist updates. You own that file in your theme.
  • Keep templates in sync: The plugin may introduce new features or changes in its default templates over time. When Directorist updates a template, you should copy the updated file from the plugin into your theme and merge your custom code into it. Always keep a backup of your custom changes so you can reapply them after updating the template.
  • Testing: After overriding a template, test your site to ensure your changes display correctly and do not cause errors.

By following these steps and best practices, you can confidently override Directorist templates in a clean, update-safe way

]]>
Action Hooks https://directorist.com/docs/action-hooks/ Fri, 24 Oct 2025 04:04:35 +0000 https://directorist.com/?post_type=docs&p=368669 Directorist provides a rich set of action hooks that allow developers to extend or modify its functionality without editing the core files.
Each hook fires at a specific point in the plugin lifecycle, enabling you to inject custom code for listings, payments, notifications, directories, and more.

Core Plugin Actions

These hooks help you run code during key lifecycle events such as installation, update, or load completion.

HookDescription
directorist_loadedFires when the Directorist plugin is fully loaded.
directorist_installedFires when Directorist is installed.
directorist_updatedFires when Directorist is updated.

Template and Display Actions

These hooks let you modify or inject elements in front-end templates such as listings, dashboards, search forms, and checkout pages.

HookContext
directorist_before_settings_panel_headerBefore rendering the settings panel header.
directorist_before_directory_type_editedBefore editing a directory type.
directorist_before_all_directory_typesBefore displaying all directory types.
directorist_before_contact_form_submit_buttonBefore the contact form submit button.
directorist_single_listing_after_titleAfter the single listing title.
directorist_before_add_listing_from_frontendBefore rendering the Add Listing form.
directorist_before_submit_listing_frontendBefore submitting a listing from frontend.
directorist_after_submit_listing_frontendAfter submitting a listing from frontend.
directorist_after_file_upload_form_fieldAfter rendering file upload fields.
atbdp_before_terms_and_conditions_fontBefore the terms and conditions section.
directorist_search_listing_before_titleBefore displaying search listing title.
directorist_search_listing_after_search_barAfter the search bar in search listings.
atbdp_before_all_categories_loop / atbdp_after_all_categories_loopBefore / after categories loop.
atbdp_before_all_locations_loop / atbdp_after_all_locations_loopBefore / after locations loop.
directorist_before_reset_password_form / directorist_after_reset_password_formBefore / after reset password form.
atbdp_before_login_form_endBefore the login form ends.
atbdp_before_user_registration_submitBefore registration submit button.
directorist_author_listings_before_loopBefore author listings loop.
directorist_before_author_profile_sectionBefore author profile section.
directorist_before_author_about_sectionBefore author about section.
directorist_author_listing_after_about_sectionAfter author about section.
directorist_before_list_listings_loopBefore list view loop.
directorist_before_listings_pagination / directorist_after_listings_paginationBefore / after pagination.
directorist_before_grid_listings_loop / directorist_after_grid_listings_loopBefore / after grid listings loop.
directorist_before_map_listings_loop / directorist_after_map_listings_loopBefore / after map listings loop.
directorist_before_listing_typesBefore listing types render.
atbdp_payment_receipt_after_total_priceAfter total price in payment receipt.
directorist_dashboard_navigation / directorist_after_dashboard_navigationBefore / after dashboard navigation.
directorist_dashboard_contents / directorist_after_dashboard_contentsDashboard content area.
directorist_dashboard_listing_th_* / directorist_dashboard_listing_td_*Customize table header and cell content in dashboard listings.
directorist_dashboard_before_pagination / directorist_dashboard_after_paginationPagination hooks in dashboard.
atbdp_before_checkout_form_start / atbdp_after_checkout_form_endSurround checkout form.
atbdp_before_cc_form / atbdp_after_cc_formSurround credit card form.

Email and Notification Actions

Used to trigger custom email or notification behavior when listings or orders are created, updated, or completed.

HookFires When
directorist_email_on_notify_owner_order_createdOwner receives order created email.
directorist_email_on_notify_owner_order_completedOwner receives order completed email.
directorist_email_on_notify_owner_listing_submittedOwner receives listing submission email.
directorist_email_on_notify_admin_listing_publishedAdmin notified when listing is published.
directorist_email_on_notify_owner_listing_publishedOwner notified when listing is published.
directorist_email_on_notify_owner_listing_editedOwner notified when listing is edited.
directorist_email_on_notify_owner_listing_to_expireOwner notified before listing expires.
directorist_email_on_notify_owner_listing_expiredOwner notified after expiration.
directorist_email_on_notify_owner_to_renewOwner notified for renewal.
directorist_email_on_notify_owner_listing_deletedOwner notified after deletion.
directorist_email_on_notify_admin_become_authorAdmin notified on author request.
directorist_email_on_notify_admin_order_created / directorist_email_on_notify_admin_order_completedAdmin notified about orders.
directorist_email_on_notify_admin_listing_submitted / directorist_email_on_notify_admin_listing_editedAdmin notified about listings.

Listing Management Actions

These actions run during the listing creation, update, or deletion process.

HookDescription
directorist_ajax_before_request_handling / directorist_ajax_after_request_handlingAround AJAX request handling.
atbdp_before_processing_submitted_listing_frontendBefore processing frontend listing submission.
atbdp_before_processing_to_update_listingBefore updating listing.
atbdp_listing_updated / atbdp_listing_insertedAfter listing update or insert.
atbdp_listing_publishedAfter listing published.
atbdp_after_created_listingAfter listing created.
atbdp_before_renewal / atbdp_after_renewalAround listing renewal process.
directorist_listing_deletedAfter listing deleted.
atbdp_all_listings_badge_templateCustomize badge template on listings.

Payment and Order Actions

Hooks for handling custom gateways, order status changes, and payment flows.

HookDescription
atbdp_order_createdAfter an order is created.
atbdp_offline_payment_createdAfter offline payment is created.
atbdp_process_{gateway}_paymentProcess payment for a specific gateway. Replace {gateway} with your gateway slug.
atbdp_online_order_processedAfter online order processed.
atbdp_order_completedAfter order marked completed.
atbdp_custom_order_column_contentOutput custom content in the order list table.
atbdp_order_status_changedWhen order status changes.
atbdp_email_receipt_after_total_priceAfter total price in email receipt.

Directory and Taxonomy Actions

HookDescription
directorist_before_create_directory_type / directorist_after_create_directory_typeAround creation of a directory type.
directorist_before_update_directory_type / directorist_after_update_directory_typeAround update of a directory type.
directorist_before_directory_type_updatedBefore directory type updated.

Review and Comment Actions

Use these to customize or track user reviews and comments.

HookDescription
directorist_review_validate_dataValidate review data before saving.
directorist_review_updatedAfter review updated.
directorist_review_clear_cacheClear review cache.
directorist_review_rating_updatedAfter review rating updated.
directorist_review_content_before / directorist_review_content_afterWrap review content.
directorist_after_comment_textareaAfter comment textarea.
directorist_comment_form_before_fields / directorist_comment_form_after_fieldsAround comment form fields.
directorist_comment_form / directorist_comment_form_afterDuring comment form render.

Import and Migration Actions

HookDescription
directorist_listing_importedAfter a listing is imported.
directorist_before_directory_type_updatedBefore directory type updated during import.

Background Process Actions

Used for updater, licensing, and tracking integrations.

HookDescription
include_style_settingsInclude style settings.
post_edd_sl_plugin_updater_setupAfter EDD Software Licensing updater setup.
in_plugin_update_message-{file}Displays plugin update message.
before_appsero_license_section / after_appsero_license_sectionAround Appsero license section.
{slug}_tracker_optin / {slug}_tracker_optoutUser tracking opt-in/out.
{slug}_uninstall_reason_submittedAfter uninstall feedback submitted.

Database Actions

HookDescription
atbdp_pre_insert_{type}Before inserting data of a specific type.
atbdp_post_insert_{type}After inserting data of a specific type.

]]>
Filter Hooks https://directorist.com/docs/filter-hooks/ Fri, 24 Oct 2025 04:13:01 +0000 https://directorist.com/?post_type=docs&p=368691 Use filters to modify data before it is displayed or saved. Add filters in a custom plugin or a child theme.

Core Plugin Filters

HookPurposeExpected / Return
atbdp_right_sidebar_nameChange the default right sidebar ID used by Directorist.string → string
plugin_localeOverride plugin textdomain locale (global WP filter).string → string
directorist_admin_templateOverride the admin template base path.string → string
atbdp_create_required_pagesControl auto-creation of required pages on setup.bool → bool
directorist_show_migration_buttonShow/hide migration button in admin.bool → bool
import_upload_size_limitSet maximum upload size for imports (bytes).int → int

Example

add_filter( 'directorist_show_migration_button', '__return_false' );

Template and Display Filters

HookPurposeExpected / Return
atbdp_contact_listing_owner_widget_form_idReplace contact form ID used in the “Contact Owner” widget.`int
directorist_widget_featured_listings_query_argumentsAdjust query args for Featured Listings widget.array → array
atbdp_avatar_sizeChange avatar size (px).int → int
directorist_taxonomy_category_wrapperAdd/replace CSS classes for category wrapper.`string
directorist_taxonomy_location_wrapperAdd/replace CSS classes for location wrapper.`string
directorist/review_form/comment_fieldsModify review form fields.array → array
directorist/review_form/comment_form_argsOverride comment_form() args for reviews.array → array
atbdp_payment_receipt_button_linkChange receipt button URL.string → string
atbdp_payment_receipt_button_textChange receipt button label.string → string
atbdp_checkout_not_now_linkChange “Not now” link on checkout.string → string
atbdp_widget_template_argsPass variables to widget templates.array → array
directorist_archive_single_listing_urlOverride single listing URL on archives.string → string
widget_title / atbdp_widget_titleFilter widget titles (core + plugin).string → string

Example

add_filter( 'atbdp_avatar_size', fn( $size ) => 64 );

Query and Data Filters

HookPurposeExpected / Return
`atbdp_allow_{similarfeaturedsearch
atbdp_popular_listing_numberCount of popular listings to fetch.int → int
atbdp_popular_listing_argsQuery args for popular listings.array → array
atbdp_related_listing_argsBase related listings query args.array → array
atbdp_related_listings_meta_queriesMeta query parts for related listings.array → array

Form and Field Filters

HookPurposeExpected / Return
directorist_listing_form_fields_class_mapMap field types to classes.array → array
directorist_section_template / directorist_field_template / directorist_field_admin_templateOverride template paths for sections/fields.string → string
directorist_form_field_dataMutate field config before render.array → array
atbdp_add_listing_page_templateSwitch Add Listing page template.string → string
directorist_search_field_templateTemplate for search field.string → string
directorist_single_section_templateTemplate for single listing sections.string → string
directorist_single_section_has_contentsControl section visibility by content.bool → bool
directorist_single_listing_widget_valueChange values displayed in single widgets.mixed → mixed
directorist_single_item_templateTemplate for single content items.string → string
directorist_custom_single_listing_pre_page_contentInject HTML before single page content.string → string
directorist_single_listing_social_sharing_itemsSocial share list.array → array
directorist_single_listing_slider_image_sizeImage size for single slider.string → string
atbdp_listing_priceDisplayed listing price text/value.string → string
directorist_the_contentFilter single listing main content.string → string
atbdp_listing_map_info_windowMap info window HTML.string → string
atbdp_address_in_map_info_windowAddress markup inside info window.string → string
atbdp_single_listing_map_section_textTitle/label for map section.string → string
directorist_related_listing_argsRelated listings args (single context).array → array
directorist_archive_single_listing_urlArchive item link URL.string → string

Example

add_filter( 'atbdp_listing_price', function( $price ) {
    return $price ? $price . ' /night' : __( 'Contact for price', 'my-textdomain' );
});

Dashboard and Navigation Filters

HookPurposeExpected / Return
directorist_dashboard_query_argumentsChange dashboard listings query.array → array
directorist_dashboard_tabsAdd/remove dashboard tabs.array → array
directorist_dashboard_listing_action_itemsPrepend action items per row.array → array
directorist_dashboard_listing_action_items_endAppend action items per row.array → array

Listings and Archive Filters

HookPurposeExpected / Return
atbdp_all_listings_paramsArchive defaults (view, order, etc.).array → array
atbdp_all_listings_meta_queriesMeta queries for archive.array → array
directorist_all_listings_query_argumentsFinal WP_Query args for archive.array → array
directorist_custom_fields_meta_query_argsMeta query built from custom fields.array → array
atbdp_search_listings_meta_queriesMeta queries for search.array → array
atbdp_listing_search_query_argumentSearch query args.array → array
directorist_all_listings_directory_type_argsRestrict by directory type.array → array
atbdp_map_optionsJS map options object.array → array
directorist_listings_map_view_marker_iconMarker icon URL/args.`string
directorist_listings_found_text“Listings found” label.string → string
directorist_loop_wrapper_class / directorist_listings_wrapper_classAdd CSS classes.string → string
grid_view_title_link_add_attr / grid_view_thumbnail_link_add_attrAdd HTML attributes to links.array → array
directorist_loop_labelChange loop labels/badges.array → array
directorist_featured_badge_field_dataFeatured badge data payload.array → array
atbdp_listings_grid_container_fluidUse container-fluid layout.bool → bool
directorist_listings_header_titleArchive header title.string → string
directorist_paginationPagination HTML.string → string
directorist_pagination_prev_text / directorist_pagination_next_textPrev/Next labels.string → string

Payment and Checkout Filters

HookPurposeExpected / Return
atbdp_enable_monetization_checkoutEnable checkout flow.bool → bool
atbdp_checkout_form_data / atbdp_checkout_form_final_dataMutate checkout data.array → array
atbdp_featured_active_checkoutAuto-check featured option.bool → bool
atbdp_payment_receipt_data / directorist_payment_receipt_dataReceipt payload.array → array
atbdp_order_itemsOrder line items.array → array
atbdp_before_order_reciptHTML before receipt (typo kept for back-compat).string → string
atbdp_order_detailsOrder details payload.array → array
directorist_order_amount_before_tax_calculationSubtotal before tax.float → float
atbdp_order_amountFinal order amount.float → float
atbdp_payment_receipt_page_linkReceipt page URL.string → string
atbdp_is_checkout / atbdp_can_checkoutControl checkout context/permission.bool → bool
atbdp_get_success_page_uri / atbdp_is_success_pageSuccess page handling.`string
atbdp_success_page_redirectCustom redirect after success.`string
atbdp_get_checkout_uriCheckout URL.string → string
atbdp_send_back_to_checkoutRedirect back to checkout.bool → bool
atbdp_get_failed_transaction_uri / atbdp_is_failure_pageFailure page handling.`string
atbdp_get_banned_emails / atbdp_is_email_bannedBanlist control.`array
atbdp_valiate_card_format_pre_type / atbdp_cc_is_valid_formatCard validation logic.bool → bool
directorist_checkout_guardBlock or allow checkout programmatically.bool → bool
atbdp_cc_card_types / atbdp_cc_found_card_typeSupported and detected card types.`array

Currency and Payment Filters

HookPurposeExpected / Return
atbdp_payment_statusesRegister custom payment statuses.array → array
atbdp_order_bulk_actionsAdd bulk actions to Orders table.array → array
atbdp_format_amountFormat money output.string → string
atbdp_payment_currency_settingsCurrency settings payload.array → array
atbdp_currency_decimal_countDecimal places.int → int
atbdp_{currency}_currency_filter_before / atbdp_{currency}_currency_filter_afterSurround amount with currency symbol.string → string
atbdp_currency_symbolOverride symbol (e.g., USD → $).string → string

Order and Receipt Filters

HookPurposeExpected / Return
atbdp_order_items_dataNormalize order items for emails/UI.array → array
directorist_email_receipt_order_amountAmount shown in email receipt.`float
atbdp_add_new_order_columnRegister custom column in Orders list.array → array
atbdp_order_forLabel for “Order for” field.string → string
atbdp_{gateway}gateway_labelGateway label text.string → string
atbdp_order_table_shortable_columsSortable columns (typo kept).array → array

Email and Notification Filters

HookPurposeExpected / Return
directorist_email_notification_to_owner_on_order_createdToggle owner email on order created.bool → bool
directorist_notify_owner_listing_submittedToggle owner email on submit.bool → bool
directorist_notify_admin_listing_publishedToggle admin email on publish.bool → bool
directorist_notify_owner_listing_publishedToggle owner email on publish.bool → bool
directorist_notify_owner_listing_to_expireToggle pre-expiry email.bool → bool
directorist_notify_owner_listing_expiredToggle expired email.bool → bool
directorist_notify_owner_to_renewToggle renewal email.bool → bool
directorist_notify_admin_listing_submittedToggle admin email on submit.bool → bool
directorist_email_verification_titleChange email verification subject.string → string

Directory and Taxonomy Filters

HookPurposeExpected / Return
directorist_category_page_redirection_enabledEnable redirect from category to directory.bool → bool
cptm_fields_before_updateMutate fields before save (builder).array → array
directorist_builder_localize_dataData passed to builder scripts.array → array
atbdp_test_migrationControl test migration UI.bool → bool
directorist_builder/fields / directorist_builder/layouts / directorist/builder/configExtend builder registry/config.array → array

12) Import and Migration Filters

HookPurposeExpected / Return
atbdp_listing_import_limit_per_cycleBatch size for importer.int → int
directorist_importing_listings_post_dateSet post date during import.`string
directorist_listing_importedAlter payload after each import.array → array
directorist_legacy_attachment_importerToggle legacy attachment importer.bool → bool
directorist_listings_importer_header_nav_menuAdd header nav items in importer.array → array
directorist_importable_fieldsRegister importable fields map.array → array
directorist_listings_importer_default_time_limitTime limit per cycle (seconds).int → int

Template and URI Filters

HookPurposeExpected / Return
directorist_template_directory / directorist_template_file_pathControl template resolution.string → string
atbdp_ext_template_path_{shortcode_key}Custom template for a shortcode.string → string
directorist_templateFinal template HTML.string → string
directorist_container / directorist_container_fluid / directorist_row / directorist_columnCSS class names for layout grid.string → string

Widget and Display Filters

(Also listed earlier under “Template and Display” for visibility)

HookPurposeExpected / Return
atbdp_widget_template_argsData passed to widgets.array → array
`atbdp_allow_{similarfeaturedsearch

Review and Comment Filters

HookPurposeExpected / Return
directorist/review/rating_htmlReplace rating HTML.string → string
directorist_comment_edit_linkEdit link for comments.string → string
directorist/review/comments_openAllow/disallow review comments.bool → bool
directorist/review/preprocess_comment_dataSanitize/reshape comment data.array → array
directorist_comment_form_default_fieldsDefault comment fields.array → array
directorist_comment_form_defaultscomment_form() defaults.array → array
directorist_comment_form_logged_inLogged-in message HTML.string → string
directorist_comment_form_fieldsEntire fields array.array → array
directorist_comment_form_field_commentMain comment field HTML.string → string
comment_form_field_{name}One field by key.string → string
directorist_comment_form_submit_button / directorist_comment_form_submit_fieldSubmit button markup/field.string → string
directorist_review_date_formatDate format for reviews.string → string

System and Configuration Filters

HookPurposeExpected / Return
directorist_has_block_templateUse a block template for single.bool → bool
directorist_listings_export_submission_form_fields_row / directorist_listings_export_rowCSV export shaping.array → array
directorist_single_listing_header_migration_dataHeader migration mapping.array → array
atbdp_*_page_url family (login, register, dashboard, add listing, fee plan, privacy, terms, edit, category/location/tag archives, receipt, checkout, renewal, PayPal IPN, author profile, search, listings, transaction failure)Override critical URLs.string → string
atbdp_current_page_urlCurrent page URL.string → string
`atbdp_single_{categorylocationtag}`
directorist_page_idResolve page IDs by key.int → int
directorist_password_reset_urlPassword reset link.string → string
directorist_date_format / directorist_time_formatDate/time formats.string → string
`atbdp_search_listing_{categorylocation}_argument`Search taxonomy args.
directorist_warningsAdmin warnings array.array → array
directorist_get_directory_type_nav_urlDirectory type nav URLs.string → string
directorist_add_query_args_with_no_paginationAppend query args when removing pagination.array → array
directorist_registration_error_messagesRegister error messages.array → array
directorist_supported_file_types_groupsAllowed file type groups.array → array
directorist_user_favoritesFavorites list for a user.array → array
directorist_get_allowed_attributes / directorist_get_allowed_htmlKSES allowlists.array → array

Elementor and Builder Filters

HookPurposeExpected / Return
directorist_all_listings_elementor_widget_attsDefault atts for All Listings widget.array → array
atbdp_elementor_widgetsRegister Elementor widgets.array → array
atbdp_elementor_widgets_activatedToggle widgets active.array → array

Appsero and Licensing Filters

HookPurposeExpected / Return
appsero_endpointChange Appsero endpoint.string → string
appsero_is_localTreat site as local for Appsero.bool → bool
appsero_custom_deactivation_reasonsAdd deactivation reasons.array → array

Background Process Filters

HookPurposeExpected / Return
{identifier}_queue_lock_time / {identifier}_default_time_limit / {identifier}_time_exceededControl batch processor timings.`int
{identifier}_memory_exceededMemory guard.bool → bool
{identifier}_cron_intervalCustom cron interval.`int
{identifier}_query_args / {identifier}_query_url / {identifier}_post_argsRemote request shaping.`array
https_local_ssl_verifySSL verify for local HTTP API calls.bool → bool

Schema and Configuration Filters

HookPurposeExpected / Return
directorist_schema_typesRegister structured data types.array → array
directorist_system_status_environment_rowsAdd rows to system status.array → array

Notes

  • Some hooks include historic typos (e.g., reciptshortable_colums) kept for backward compatibility. Use them exactly as listed by the plugin you are targeting.
  • When a hook appears in more than one section (for clarity), it is the same filter.

]]>
API Reference https://directorist.com/docs/api-reference/ Fri, 24 Oct 2025 04:20:11 +0000 https://directorist.com/?post_type=docs&p=368693 This reference covers the REST endpoints commonly used with Directorist-powered sites. It is intentionally concise and developer-friendly.

General / WordPress Endpoints

  • GET /wp-json/directorist/v1 – Base API endpoint for Directorist (returns general plugin info)postman.com.
  • POST /wp-json/wp/v2/media – Upload a media file (e.g., listing image) to WordPresspostman.com.
  • POST /wp-json/wp/v2/posts – Create a new WordPress post (e.g., for blog content). Query parameters (title, content, status) are passed in the URLpostman.com.

User Management

  • GET /wp-json/directorist/v1/users/ – Retrieve a list of users. Supports filtering via query parameters (e.g., email, page)postman.com.
  • POST /wp-json/directorist/v1/users/{user_id} – Update a user’s details (e.g., email) by user IDpostman.com.
  • DELETE /wp-json/directorist/v1/users/{user_id}?force=1 – Delete a user by ID. The force=1 parameter ensures permanent deletionpostman.com.
  • POST /wp-json/directorist/v1/users/?email={email}&password={password} – Create a new user with given email and password (additional details can be provided via form data: username, first_name, etc.)postman.com.
  • POST /wp-json/directorist/v1/users/{user_id}/favorites/?id={listing_id} – Add a listing to the user’s favorites (pass the listing ID as id)postman.com.
  • DELETE /wp-json/directorist/v1/users/{user_id}/favorites/{listing_id} – Remove a listing (by listing ID) from the user’s favoritespostman.com.

Authentication / Account

  • POST /wp-json/directorist/dev/register-user?email={email}&password={password} – Register (sign up) a new user accountpostman.com.
  • POST /wp-json/directorist/v1/users/account/change-password?old_password={old}&new_password={new}&user_id={id} – Change a user’s password. Requires the old password, new password, and the user IDpostman.com.
  • POST /wp-json/directorist/v1/users/account/reset-user-password?password={new}&pin={pin}&email={email} – Reset password using a PIN. Requires the new password, the reset PIN, and the user’s emailpostman.com.
  • POST /wp-json/directorist/v1/users/account/verify-password-reset-pin?email={email}&pin={pin} – Verify a password reset PIN sent to the user’s emailpostman.com.
  • POST /wp-json/jwt-auth/v1/token?username={email}&password={password} – Authenticate a user and obtain a JWT token (pass username/email and password)postman.com.
  • POST /wp-json/jwt-auth/v1/token/validate – Validate an existing JWT token (token must be sent in the Authorization header)postman.com.
  • POST /wp-json/directorist/v1/users/account/send-password-reset-pin?email={email} – Send a password reset PIN/link to the given email addresspostman.com.
  • POST /wp-json/directorist/v1/users/account/get-password-reset-pin?email={email} – Retrieve or verify the password reset PIN for the given email (used internally by the app)postman.com.

Listings

  • GET /wp-json/directorist/v1/listings – Retrieve listings, with many optional filters (e.g., include, categories, locations, min_price, max_price, ratings, radius[...], expired, pending, author, status, etc.)postman.com.
  • POST /wp-json/directorist/v1/listings?title={title} – Create or update a listing. The title (and other listing fields) can be passed via query string or form datapostman.com.
  • GET /wp-json/directorist/v1/listings?per_page=5&order=desc&orderby=date – Get the newest listings (example: limit 5, sorted by date descending)postman.com.
  • GET /wp-json/directorist/v1/listings?featured=true&per_page=5&order=desc&orderby=date – Get featured listings (example: limit 5, sorted by date)postman.com.
  • GET /wp-json/directorist/v1/listings/reviews/?listing={listing_id} – Get reviews for a specific listing by listing IDpostman.com.

Categories, Tags, and Locations (Terms)

  • GET /wp-json/directorist/v1/listings/categories?hide_empty=true – List all listing categories (by default hide categories with no listings)postman.com.
  • GET /wp-json/directorist/v1/listings/categories?per_page=1&hide_empty=true&orderby=count&order=desc&page=2 – List popular categories (sorted by listing count)postman.com.
  • GET /wp-json/directorist/v1/listings/locations?per_page=10&hide_empty=true&orderby=count&order=desc – List top locations (sorted by listing count, limited to 10)postman.com.
  • GET /wp-json/directorist/v1/listings/tags – List all tags used in listingspostman.com.
  • GET /wp-json/directorist/v1/listings/locations – List all locations used in listingspostman.com.

Firebase Notifications (Push)

  • POST https://firestore.googleapis.com/v1/projects/{{firebase_project_name}}/databases/(default)/documents/notifications/user_{user_id}/notifications – Add a notification document to Firestore for user {user_id}. The request body is raw JSON with fields (e.g., title, body, data)postman.com.
  • GET https://firestore.googleapis.com/v1/projects/{{firebase_project_name}}/databases/(default)/documents/notifications – Retrieve all notifications documents (for all users) from Firestorepostman.com.
  • POST https://fcm.googleapis.com/fcm/send – Send a push notification to a specific device via Firebase Cloud Messaging (FCM). The request body is raw JSON specifying target device token (to) and notification data (title, body, etc.)postman.com.

Payment System (WooCommerce)

(These endpoints use WooCommerce’s REST API v3, enabled when Directorist monetization is active.)

  • GET /wp-json/wc/v3/orders – Retrieve a list of WooCommerce orders (all orders in the store)postman.com.
  • GET /wp-json/wc/v3/orders/{order_id} – Retrieve details of a single order by its IDpostman.com.
  • GET /wp-json/wc/v3/refunds – Retrieve a list of refunds (new in WooCommerce API v3)postman.com.
  • GET /wp-json/wc/v3/refunds/{refund_id} – Retrieve a single refund by its IDpostman.com.
  • POST /wp-json/wc/v3/orders/{order_id}/refunds – Create a refund for the given order ID (pass refund details in request body)postman.com.
  • DELETE /wp-json/wc/v3/orders/{order_id}/refunds/{refund_id} – Delete a specific refund by its ID for a given orderpostman.com.

]]>