Yes. Every action and filter is listed with its arguments in includes/class-turnkeydir-hooks.php. New in 3.1.4: Listing images: turnkeydir_listing_image( $row, $context ) (or TURNKEYDIR_Listing_Image::resolve()) returns the image a listing shows — owner image, else street view, else imported photo, else none — and the turnkeydir_listing_image filter changes it. TURNKEYDIR_Listing_Image::tier_for_row() gives a listing's image group (0 own image, 1 street view, 2 imported photo, 3 none). Changing images: TURNKEYDIR_Listing_Image::set_custom_image( $id, $url, $by ) and clear_custom_image( $id, $by ) set or remove a listing's own image. Code that writes custom_featured_image, mapillary_image_url or photo itself must call TURNKEYDIR_Listing_Image::touch( $ids ) afterwards; importers fire the turnkeydir_listings_imported action with the new listing IDs instead. The turnkeydir_image_tiers_ready action fires when the one-time image update has finished. Image hosts: the turnkeydir_blocked_image_hosts filter lists hosts whose images are never shown (default google.com, googleapis.com). Order of listings: TURNKEYDIR_Listing_Image::order_by( $sort, $geo, $alias ) builds the order used on every list; the turnkeydir_listing_order_by filter changes it (keep a unique last key so paging stays correct). Street view: TURNKEYDIR_Mapillary_API::refresh_listing( $id ) looks up one listing now; TURNKEYDIR_Mapillary_API::start_fast_pass() starts the background search. Filters turnkeydir_mapillary_fast_concurrency, turnkeydir_mapillary_fast_rpm, turnkeydir_mapillary_fast_purge_interval and turnkeydir_mapillary_api_base tune it. Edit Listing: the turnkeydir_edit_listing_sections action adds admin-only panels below the listing fields (they are posted with Save, so don't reuse listing field names). Setup wizard: the turnkeydir_wizard_leave action and the turnkeydir_wizard_activities, turnkeydir_wizard_sections, turnkeydir_wizard_substeps and turnkeydir_wizard_exit_url filters let add-ons add their own sections, steps and running work. TURNKEYDIR_Installation_Wizard::instance() offers get_step_url(), get_step_number(), get_resume_slug(), next_url(), prev_url(), leave_url() and reset_progress(); in the browser, TURNKEYDIRWizard.setBusy() / clearBusy(). Admin helpers: turnkeydir_admin_current_tab() (the dashboard tab being shown), turnkeydir_asset_version( $file ) (a version that changes whenever the file changes) and turnkeydir_admin_send_nocache(). Add-ons should check that a function or class exists before calling it, so they keep working with older versions of the plugin.