Hooks & Filters Reference

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

HookParametersFile
wpss_loadedPlugin $pluginPlugin.php:261
wpssadapterinitializedEcommerceAdapterInterface $adapterIntegrationManager.php:124
wpssregisterfield_typesFieldManager $managerFieldManager.php:59
wpsswoocommerceadapter_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

HookParametersFile
wpssservicecreatedint $post_id, array $dataServiceManager.php:144
wpssserviceupdatedint $service_id, array $dataServiceManager.php:225
wpssbeforeservice_deletedint $service_idServiceManager.php:259
wpssservicemeta_savedint $postid, WPPost $postServiceMetabox.php:1052
wpssrestservice_createdint $serviceid, WPREST_Request $requestServicesController.php:321
wpssrestservice_updatedint $serviceid, WPREST_Request $requestServicesController.php:386
wpssrestservice_deletedint $service_id, bool $forceServicesController.php:431
wpssservicesyncedtowc_productint $serviceid, int $productidWCProductProvider.php:454

Moderation Actions

HookParametersFile
wpssserviceapprovedint $service_id, string $notesModerationService.php:181
wpssservicerejectedint $service_id, string $reasonModerationService.php:233
wpssservicepending_moderationint $service_idModerationService.php:273

Order Actions

HookParametersFile
wpssorderstatus_changedint $orderid, string $newstatus, string $old_statusOrderService.php:196
wpssorderstatus_{status}int $orderid, string $oldstatusOrderService.php:197
wpssordercreatedint $order_id, string $statusManualOrderPage.php:716
wpssorderacceptedint $order_idOrdersController.php:564
wpssorderrejectedint $order_id, string $reasonOrdersController.php:582
wpssorderstartedint $order_idOrdersController.php:598
wpssorderdeliveredint $order_idOrdersController.php:613
wpssordercompletedint $order_id, object $orderOrderWorkflowManager.php:685
wpssordercancelledint $orderid, int $userid, string $reasonOrderService.php:427
wpssorderdisputedint $orderid, int $openedby, string $reasonOrdersController.php:670
wpssordermessage_createdint $messageid, int $orderid, int $user_idOrdersController.php:406
wpssorderrequirements_submittedint $order_id, array $requirementsOrdersController.php:839
wpssafterstatuschangenotificationint $orderid, string $newstatus, string $old_statusOrderWorkflowManager.php:638
wpsssendrequirementsreminderemailint $orderid, int $remindernum, string $messageOrderWorkflowManager.php:338
wpssrequirementstimeoutint $orderid, bool $autostartOrderWorkflowManager.php:472
wpssaftercheckout_processint $orderid, array $orderdataWCCheckoutProvider.php:332

Delivery Actions

HookParametersFile
wpssdeliverysubmittedint $deliveryid, int $orderidDeliveryService.php:127
wpssdeliveryacceptedint $order_idDeliveryService.php:168
wpssrevisionrequestedint $order_id, string $reasonDeliveryService.php:234
wpssrequirementssubmittedint $orderid, array $fielddata, array $attachmentsRequirementsService.php:461

Vendor Actions

HookParametersFile
wpssvendorregisteredint $userid, array $profiledataVendorService.php:131
wpssvendorprofile_updatedint $userid, array $filtereddataVendorService.php:250
wpssvendorvacationmodechangedint $user_id, bool $enabled, string $messageVendorService.php:299
wpssvendortier_changedint $user_id, string $tierVendorService.php:340
wpssvendorlevel_promotedint $userid, string $newlevel, string $current_levelOrderWorkflowManager.php:539
wpssvendorlevel_updatedint $user_id, string $levelSellerLevelService.php:299
wpssvendorstatus_updatedint $vendor_id, string $statusVendorsPage.php:1583
wpssvendorcommission_updatedint $vendor_id, float $rateVendorsPage.php:1884
wpssvendorcontactedint $vendorid, int $userid, int $service_id, string $message, array $attachmentsAjaxHandlers.php:2052

Financial Actions

HookParametersFile
wpsscommissionrecordedint $orderid, array $commission, int $vendoridCommissionService.php:116
wpsswithdrawalrequestedint $withdrawalid, int $vendorid, float $amountEarningsService.php:344
wpsswithdrawalprocessedint $withdrawal_id, string $status, object $withdrawalEarningsService.php:489
wpssautowithdrawal_createdint $withdrawalid, int $vendorid, float $amountEarningsService.php:866
wpsstipsentint $tipid, int $orderid, int $vendorid, int $customerid, float $amount, string $messageTippingService.php:171

Dispute Actions

HookParametersFile
wpssdisputeopenedint $disputeid, int $orderid, int $opened_by, array $dataDisputeService.php:132
wpssdisputeevidence_addedint $disputeid, int $useridDisputeService.php:248
wpssdisputestatus_changedint $disputeid, string $status, string $oldstatusDisputeService.php:334
wpssdisputeresolvedint $disputeid, string $resolution, object $dispute, float $refundamountDisputeService.php:400
wpssdisputeresponse_submittedint $messageid, int $disputeid, int $user_idDisputeWorkflowManager.php:193
wpssdisputeescalatedint $disputeid, string $reason, int $escalatedbyDisputeWorkflowManager.php:321
wpssdisputecancelledint $disputeid, int $userid, string $reasonDisputeWorkflowManager.php:463

Review, Request, and Proposal Actions

HookParametersFile
wpssreviewcreatedint $reviewid, int $orderidReviewService.php:120
wpssreviewreply_createdint $review_idReviewsController.php:542
wpssbuyerrequest_createdint $post_id, array $dataBuyerRequestService.php:112
wpssbuyerrequest_updatedint $request_id, array $dataBuyerRequestService.php:164
wpssbuyerrequeststatuschangedint $requestid, string $status, string $oldstatusBuyerRequestService.php:425
wpssrequestconvertedtoorderint $orderid, int $requestid, int $proposal_id, object $request, object $proposalBuyerRequestService.php:704
wpssproposalsubmittedint $proposalid, int $requestid, int $vendorid, array $proposaldataProposalService.php:136
wpssproposalupdatedint $proposalid, array $updatedataProposalService.php:229
wpssproposalacceptedint $proposal_id, object $proposal, object $requestProposalService.php:283
wpssproposalrejectedint $proposal_id, object $proposal, string $reasonProposalService.php:331
wpssproposalwithdrawnint $proposal_id, object $proposalProposalService.php:373
wpssproposaldeletedint $proposal_id, object $proposalProposalService.php:665

Milestone and Extension Actions

HookParametersFile
wpssmilestonecreatedint $milestoneid, int $orderid, array $milestoneMilestoneService.php:111
wpssmilestonesubmittedint $milestoneid, int $orderidMilestoneService.php:263
wpssmilestoneapprovedint $milestoneid, int $orderid, float $amountMilestoneService.php:311
wpssmilestonerejectedint $milestoneid, int $orderid, string $feedbackMilestoneService.php:360
wpssextensionrequest_createdint $requestid, int $orderid, array $dataExtensionRequestService.php:246
wpssextensionrequest_approvedint $request_id, object $requestExtensionRequestService.php:363
wpssextensionrequest_rejectedint $request_id, object $requestExtensionRequestService.php:447

Other Actions

HookParametersFile
wpssmessagesentobject $message, object $conversationConversationService.php:223
wpssnotificationcreatedint $notificationid, int $userid, string $type, array $dataNotificationService.php:80
wpssportfolioitem_createdint $itemid, int $vendorid, array $dataPortfolioService.php:194
wpssportfolioitem_updatedint $item_id, array $dataPortfolioService.php:289
wpssportfolioitem_deletedint $item_id, object $itemPortfolioService.php:339
wpssaddoncreatedint $addonid, int $serviceid, array $addon_dataServiceAddonService.php:143
wpssaddonupdatedint $addonid, array $updatedataServiceAddonService.php:229
wpssaddondeletedint $addon_id, object $addonServiceAddonService.php:353
wpsssettingstab_{tab}(none)Settings.php:985
wpssadvancedsettings_sections(none)Settings.php:1317

Filters

Provider Registration

FilterFileDefault
wpssecommerceadaptersIntegrationManager.php:67WooCommerce only
wpsspaymentgatewaysPlugin.php:813Test gateway (debug)
wpsswalletproviders [PRO]Plugin.php:825Empty
wpssstorageproviders [PRO]Plugin.php:837Empty
wpssemailproviders [PRO]Plugin.php:849Empty
wpssanalyticswidgets [PRO]Plugin.php:861Empty

Service Wizard Limits

FilterFileFree Default
wpssservicemax_packagesServiceWizard.php:1163
wpssservicemax_galleryServiceWizard.php:1264
wpssservicemax_videosServiceWizard.php:1361
wpssservicemax_extrasServiceWizard.php:1463
wpssservicemax_faqServiceWizard.php:1565
wpssservicemax_requirementsServiceWizard.php:1665
wpssservicewizard_featuresServiceWizard.php:175All false

Data Filters

FilterParametersFile
wpssformatprice$formatted, $price, $currencyfunctions.php:68
wpss_currency$currencyfunctions.php:91
wpssplatformname$platform_namefunctions.php:117
wpssisvendor$isvendor, $useridfunctions.php:331
wpssordernumber_prefix$prefix (default 'WPSS-')functions.php:385
wpssdisputenumber_prefix$prefix (default 'DSP-')functions.php:397
wpsscurrencysymbols$symbolsfunctions.php:490
wpsscurrencyformat$format, $symbol, $currencyfunctions.php:517
wpss_currencies$currenciesfunctions.php:564
wpssorderstatuses$statusesfunctions.php:620
wpssmaxupload_size$upload_maxfunctions.php:834
wpssallowlaterequirementssubmission$allow_latefunctions.php:888
wpsswalletmanagernullfunctions.php:1029

Template Filters

FilterParametersFile
wpssgettemplate_part$template, $slug, $namefunctions.php:165
wpssgettemplate$template, $template_name, $argsfunctions.php:211
wpsslocatetemplate$template, $templatename, $templatepathTemplateLoader.php:318
wpssdashboardsection_template$template_path, $sectionUnifiedDashboard.php:418

URL and Taxonomy Filters

FilterParametersFile
wpssserviceslug$slug (default 'service')ServicePostType.php:184
wpssbuyerrequest_slug$slug (default 'buyer-request')BuyerRequestPostType.php:112
wpssserviceposttypeargs$argsServicePostType.php:106
wpssservicetag_args$argsServicePostType.php:168
wpssservicecategorytaxonomyargs$argsServiceCategoryTaxonomy.php:118
wpssservicetagtaxonomyargs$argsServiceTagTaxonomy.php:103
wpssbuyerrequestposttype_args$argsBuyerRequestPostType.php:96

Order, Commission, and API Filters

FilterParametersFile
wpssorderstatus_transitions$transitions, $from, $toOrderService.php:290
wpsscommissionrate$rate, $order, $vendorid, $serviceidCommissionService.php:163
wpssproposalorder_revisions$revisions, $proposal, $requestBuyerRequestService.php:628
wpssmaxorder_quantity$maxSingleServiceView.php:743
wpssapicontrollers$controllersAPI.php:76
wpssapipublic_settings$settingsAPI.php:346
wpssbatchmax_requests$max (default 25)API.php:571
wpssapicors_origins$originsAPI.php:641
wpsssettingstabs$tabsSettings.php:161
wpss_blocks$blocksBlocksManager.php:93
wpssratelimits$limits, $actionRateLimiter.php:243

Miscellaneous Filters

FilterParametersFile
wpssreviewwindow_days$daysReviewService.php:420
wpssautoapprove_reviews$auto_approve (default true)ReviewsController.php:350
wpssvendorregistration_open$open (default true)VendorsController.php:380
wpssautoapprove_vendors$auto_approve (default true)VendorsController.php:390
wpssdeliveryallowedfiletypes$typesDeliveryService.php:374
wpssrequirementsallowedfiletypes$typesRequirementsService.php:411
wpsswithdrawalmethods$methodsEarningsService.php:575
wpsssearchresults$results, $query, $argsSearchService.php:121
wpsssearchsuggestions$suggestions, $querySearchService.php:498
wpssrelatedservices_args$args, $serviceSingleServiceView.php:647
wpsscartcheckout$result, $cart, $userid, $paymentmethodCartController.php:378
wpssavailablepayment_methods$methodsCartController.php:395
wpsssellerlevels$levelsSellerLevelsController.php:284
wpssrestservice_data$data, $service, $requestServicesController.php:608
wpsscanaccessdashboardsection$allowed, $section, $user_idUnifiedDashboard.php:173
wpssdashboardsections$sections, $userid, $isvendorUnifiedDashboard.php:243
wpssdashboardsection_titles$titlesUnifiedDashboard.php:371
wpssservicetowcstatus_map$statusmap, $newstatus, $old_statusWooCommerceAdapter.php:388

SEO and Email Filters

FilterParametersFile
wpssserviceschema$schema, $service_idSchemaMarkup.php:183
wpssservicelist_schema$schemaSchemaMarkup.php:221
wpsscategoryschema$schema, $termSchemaMarkup.php:280
wpsspersonschema$schema, $user_idSchemaMarkup.php:328
wpssvendorpage_schema$schema, $user_idSchemaMarkup.php:375
wpssorganizationschema$schemaSchemaMarkup.php:406
wpssopengraph_data$data, $service_idSEO.php:257
wpsssitemappost_types$post_typesSEO.php:321
wpss_breadcrumbs$breadcrumbs, $service_idSEO.php:387
wpssnotificationemail_content$content, $subject, $user_id, $dataNotificationService.php:1195
wpssvendorwelcomeemailcontent$content, $user, $platform_nameNotificationService.php:994
wpssadminvendornotificationcontent$content, $userNotificationService.php:1049
wpssemaildata$emailEmailService.php:642

Related Documentation

Last updated: February 14, 2026