Hooks and Filters Reference
WP Sell Services exposes action hooks and filter hooks throughout its codebase. Every hook listed here is verified in the source code with file location and parameters.
Using Hooks
// Actions execute code at specific points
add_action( 'wpss_order_status_changed', 'my_func', 10, 3 );
function my_func( $order_id, $new_status, $old_status ) {
// Your code here
}
// Filters modify data before it is used
add_filter( 'wpss_review_window_days', fn( $days ) => 14 );
Plugin Lifecycle Actions
Hook Parameters File wpss_loadedPlugin $pluginPlugin.php:261wpssadapter initializedEcommerceAdapterInterface $adapterIntegrationManager.php:124wpssregister field_typesFieldManager $managerFieldManager.php:59wpsswoocommerce adapter_initWooCommerceAdapter $adapterWooCommerceAdapter.php:162
wpss_loaded is the primary extension hook. All Pro features register here:
add_action( 'wpss_loaded', function( $plugin ) {
// Plugin is ready - register extensions
}, 10, 1 );
Service Actions
Hook Parameters File wpssservice createdint $post_id, array $dataServiceManager.php:144wpssservice updatedint $service_id, array $dataServiceManager.php:225wpssbefore service_deletedint $service_idServiceManager.php:259wpssservice meta_savedint $postid, WP Post $postServiceMetabox.php:1052wpssrest service_createdint $serviceid, WP REST_Request $requestServicesController.php:321wpssrest service_updatedint $serviceid, WP REST_Request $requestServicesController.php:386wpssrest service_deletedint $service_id, bool $forceServicesController.php:431wpssservice syncedto wc_productint $serviceid, int $product idWCProductProvider.php:454
Moderation Actions
Hook Parameters File wpssservice approvedint $service_id, string $notesModerationService.php:181wpssservice rejectedint $service_id, string $reasonModerationService.php:233wpssservice pending_moderationint $service_idModerationService.php:273
Order Actions
Hook Parameters File wpssorder status_changedint $orderid, string $new status, string $old_statusOrderService.php:196wpssorder status_{status}int $orderid, string $old statusOrderService.php:197wpssorder createdint $order_id, string $statusManualOrderPage.php:716wpssorder acceptedint $order_idOrdersController.php:564wpssorder rejectedint $order_id, string $reasonOrdersController.php:582wpssorder startedint $order_idOrdersController.php:598wpssorder deliveredint $order_idOrdersController.php:613wpssorder completedint $order_id, object $orderOrderWorkflowManager.php:685wpssorder cancelledint $orderid, int $user id, string $reasonOrderService.php:427wpssorder disputedint $orderid, int $opened by, string $reasonOrdersController.php:670wpssorder message_createdint $messageid, int $order id, int $user_idOrdersController.php:406wpssorder requirements_submittedint $order_id, array $requirementsOrdersController.php:839wpssafter statuschange notificationint $orderid, string $new status, string $old_statusOrderWorkflowManager.php:638wpsssend requirementsreminder emailint $orderid, int $reminder num, string $messageOrderWorkflowManager.php:338wpssrequirements timeoutint $orderid, bool $auto startOrderWorkflowManager.php:472wpssafter checkout_processint $orderid, array $order dataWCCheckoutProvider.php:332
Delivery Actions
Hook Parameters File wpssdelivery submittedint $deliveryid, int $order idDeliveryService.php:127wpssdelivery acceptedint $order_idDeliveryService.php:168wpssrevision requestedint $order_id, string $reasonDeliveryService.php:234wpssrequirements submittedint $orderid, array $field data, array $attachmentsRequirementsService.php:461
Vendor Actions
Hook Parameters File wpssvendor registeredint $userid, array $profile dataVendorService.php:131wpssvendor profile_updatedint $userid, array $filtered dataVendorService.php:250wpssvendor vacationmode changedint $user_id, bool $enabled, string $messageVendorService.php:299wpssvendor tier_changedint $user_id, string $tierVendorService.php:340wpssvendor level_promotedint $userid, string $new level, string $current_levelOrderWorkflowManager.php:539wpssvendor level_updatedint $user_id, string $levelSellerLevelService.php:299wpssvendor status_updatedint $vendor_id, string $statusVendorsPage.php:1583wpssvendor commission_updatedint $vendor_id, float $rateVendorsPage.php:1884wpssvendor contactedint $vendorid, int $user id, int $service_id, string $message, array $attachmentsAjaxHandlers.php:2052
Financial Actions
Hook Parameters File wpsscommission recordedint $orderid, array $commission, int $vendor idCommissionService.php:116wpsswithdrawal requestedint $withdrawalid, int $vendor id, float $amountEarningsService.php:344wpsswithdrawal processedint $withdrawal_id, string $status, object $withdrawalEarningsService.php:489wpssauto withdrawal_createdint $withdrawalid, int $vendor id, float $amountEarningsService.php:866wpsstip sentint $tipid, int $order id, int $vendorid, int $customer id, float $amount, string $messageTippingService.php:171
Dispute Actions
Hook Parameters File wpssdispute openedint $disputeid, int $order id, int $opened_by, array $dataDisputeService.php:132wpssdispute evidence_addedint $disputeid, int $user idDisputeService.php:248wpssdispute status_changedint $disputeid, string $status, string $old statusDisputeService.php:334wpssdispute resolvedint $disputeid, string $resolution, object $dispute, float $refund amountDisputeService.php:400wpssdispute response_submittedint $messageid, int $dispute id, int $user_idDisputeWorkflowManager.php:193wpssdispute escalatedint $disputeid, string $reason, int $escalated byDisputeWorkflowManager.php:321wpssdispute cancelledint $disputeid, int $user id, string $reasonDisputeWorkflowManager.php:463
Review, Request, and Proposal Actions
Hook Parameters File wpssreview createdint $reviewid, int $order idReviewService.php:120wpssreview reply_createdint $review_idReviewsController.php:542wpssbuyer request_createdint $post_id, array $dataBuyerRequestService.php:112wpssbuyer request_updatedint $request_id, array $dataBuyerRequestService.php:164wpssbuyer requeststatus changedint $requestid, string $status, string $old statusBuyerRequestService.php:425wpssrequest convertedto orderint $orderid, int $request id, int $proposal_id, object $request, object $proposalBuyerRequestService.php:704wpssproposal submittedint $proposalid, int $request id, int $vendorid, array $proposal dataProposalService.php:136wpssproposal updatedint $proposalid, array $update dataProposalService.php:229wpssproposal acceptedint $proposal_id, object $proposal, object $requestProposalService.php:283wpssproposal rejectedint $proposal_id, object $proposal, string $reasonProposalService.php:331wpssproposal withdrawnint $proposal_id, object $proposalProposalService.php:373wpssproposal deletedint $proposal_id, object $proposalProposalService.php:665
Milestone and Extension Actions
Hook Parameters File wpssmilestone createdint $milestoneid, int $order id, array $milestoneMilestoneService.php:111wpssmilestone submittedint $milestoneid, int $order idMilestoneService.php:263wpssmilestone approvedint $milestoneid, int $order id, float $amountMilestoneService.php:311wpssmilestone rejectedint $milestoneid, int $order id, string $feedbackMilestoneService.php:360wpssextension request_createdint $requestid, int $order id, array $dataExtensionRequestService.php:246wpssextension request_approvedint $request_id, object $requestExtensionRequestService.php:363wpssextension request_rejectedint $request_id, object $requestExtensionRequestService.php:447
Other Actions
Hook Parameters File wpssmessage sentobject $message, object $conversationConversationService.php:223wpssnotification createdint $notificationid, int $user id, string $type, array $dataNotificationService.php:80wpssportfolio item_createdint $itemid, int $vendor id, array $dataPortfolioService.php:194wpssportfolio item_updatedint $item_id, array $dataPortfolioService.php:289wpssportfolio item_deletedint $item_id, object $itemPortfolioService.php:339wpssaddon createdint $addonid, int $service id, array $addon_dataServiceAddonService.php:143wpssaddon updatedint $addonid, array $update dataServiceAddonService.php:229wpssaddon deletedint $addon_id, object $addonServiceAddonService.php:353wpsssettings tab_{tab}(none) Settings.php:985wpssadvanced settings_sections(none) Settings.php:1317
Filters
Provider Registration
Filter File Default wpssecommerce adaptersIntegrationManager.php:67WooCommerce only wpsspayment gatewaysPlugin.php:813Test gateway (debug) wpsswallet providers [PRO] Plugin.php:825Empty wpssstorage providers [PRO] Plugin.php:837Empty wpssemail providers [PRO] Plugin.php:849Empty wpssanalytics widgets [PRO] Plugin.php:861Empty
Service Wizard Limits
Filter File Free Default wpssservice max_packagesServiceWizard.php:1163 wpssservice max_galleryServiceWizard.php:1264 wpssservice max_videosServiceWizard.php:1361 wpssservice max_extrasServiceWizard.php:1463 wpssservice max_faqServiceWizard.php:1565 wpssservice max_requirementsServiceWizard.php:1665 wpssservice wizard_featuresServiceWizard.php:175All false
Data Filters
Filter Parameters File wpssformat price$formatted, $price, $currencyfunctions.php:68wpss_currency$currencyfunctions.php:91wpssplatform name$platform_namefunctions.php:117wpssis vendor$isvendor, $user idfunctions.php:331wpssorder number_prefix$prefix (default 'WPSS-')functions.php:385wpssdispute number_prefix$prefix (default 'DSP-')functions.php:397wpsscurrency symbols$symbolsfunctions.php:490wpsscurrency format$format, $symbol, $currencyfunctions.php:517wpss_currencies$currenciesfunctions.php:564wpssorder statuses$statusesfunctions.php:620wpssmax upload_size$upload_maxfunctions.php:834wpssallow laterequirements submission$allow_latefunctions.php:888wpsswallet managernullfunctions.php:1029
Template Filters
Filter Parameters File wpssget template_part$template, $slug, $namefunctions.php:165wpssget template$template, $template_name, $argsfunctions.php:211wpsslocate template$template, $templatename, $template pathTemplateLoader.php:318wpssdashboard section_template$template_path, $sectionUnifiedDashboard.php:418
URL and Taxonomy Filters
Filter Parameters File wpssservice slug$slug (default 'service')ServicePostType.php:184wpssbuyer request_slug$slug (default 'buyer-request')BuyerRequestPostType.php:112wpssservice posttype args$argsServicePostType.php:106wpssservice tag_args$argsServicePostType.php:168wpssservice categorytaxonomy args$argsServiceCategoryTaxonomy.php:118wpssservice tagtaxonomy args$argsServiceTagTaxonomy.php:103wpssbuyer requestpost type_args$argsBuyerRequestPostType.php:96
Order, Commission, and API Filters
Filter Parameters File wpssorder status_transitions$transitions, $from, $toOrderService.php:290wpsscommission rate$rate, $order, $vendorid, $service idCommissionService.php:163wpssproposal order_revisions$revisions, $proposal, $requestBuyerRequestService.php:628wpssmax order_quantity$maxSingleServiceView.php:743wpssapi controllers$controllersAPI.php:76wpssapi public_settings$settingsAPI.php:346wpssbatch max_requests$max (default 25)API.php:571wpssapi cors_origins$originsAPI.php:641wpsssettings tabs$tabsSettings.php:161wpss_blocks$blocksBlocksManager.php:93wpssrate limits$limits, $actionRateLimiter.php:243
Miscellaneous Filters
Filter Parameters File wpssreview window_days$daysReviewService.php:420wpssauto approve_reviews$auto_approve (default true)ReviewsController.php:350wpssvendor registration_open$open (default true)VendorsController.php:380wpssauto approve_vendors$auto_approve (default true)VendorsController.php:390wpssdelivery allowedfile types$typesDeliveryService.php:374wpssrequirements allowedfile types$typesRequirementsService.php:411wpsswithdrawal methods$methodsEarningsService.php:575wpsssearch results$results, $query, $argsSearchService.php:121wpsssearch suggestions$suggestions, $querySearchService.php:498wpssrelated services_args$args, $serviceSingleServiceView.php:647wpsscart checkout$result, $cart, $userid, $payment methodCartController.php:378wpssavailable payment_methods$methodsCartController.php:395wpssseller levels$levelsSellerLevelsController.php:284wpssrest service_data$data, $service, $requestServicesController.php:608wpsscan accessdashboard section$allowed, $section, $user_idUnifiedDashboard.php:173wpssdashboard sections$sections, $userid, $is vendorUnifiedDashboard.php:243wpssdashboard section_titles$titlesUnifiedDashboard.php:371wpssservice towc status_map$statusmap, $new status, $old_statusWooCommerceAdapter.php:388
SEO and Email Filters
Filter Parameters File wpssservice schema$schema, $service_idSchemaMarkup.php:183wpssservice list_schema$schemaSchemaMarkup.php:221wpsscategory schema$schema, $termSchemaMarkup.php:280wpssperson schema$schema, $user_idSchemaMarkup.php:328wpssvendor page_schema$schema, $user_idSchemaMarkup.php:375wpssorganization schema$schemaSchemaMarkup.php:406wpssopen graph_data$data, $service_idSEO.php:257wpsssitemap post_types$post_typesSEO.php:321wpss_breadcrumbs$breadcrumbs, $service_idSEO.php:387wpssnotification email_content$content, $subject, $user_id, $dataNotificationService.php:1195wpssvendor welcomeemail content$content, $user, $platform_nameNotificationService.php:994wpssadmin vendornotification content$content, $userNotificationService.php:1049wpssemail data$emailEmailService.php:642
Related Documentation