Hooks
SearchWP includes a number of hooks to allow unique customization without compromising the plugin code itself. Integrating with SearchWP through the hooks outlined below will allow your modifications to remain in place even when upgrading SearchWP over time.
Actions
- searchwp_after_query_index
- searchwp_before_query_index
- searchwp_index_initial_complete
- searchwp_index_pdf_metadata
- searchwp_index_post
- searchwp_index_up_to_date
- searchwp_indexer_loopback
- searchwp_indexer_post_chunk
- searchwp_indexer_posts
- searchwp_indexer_pre
- searchwp_indexer_pre_chunk
- searchwp_indexer_pre_get_comments
- searchwp_indexer_running
- searchwp_load
- searchwp_loaded
- searchwp_log
- searchwp_revised_search_query
- searchwp_settings_after_header
- searchwp_settings_after\$my_view
- searchwp_settings_before_header
- searchwp_settings_before\$my_view
- searchwp_settings_engines
- searchwp_settings_footer
- searchwp_settings_init
- searchwp_settings_nav_tab
- searchwp_settings_view\$my_view
- searchwp_stats_after_count
- searchwp_stats_after_query
- searchwp_stats_before_count
- searchwp_stats_before_query
- searchwp_swp_query_shutdown
General Filters
- searchwp_admin_bar
- searchwp_dashboard_widget
- searchwp_dashboard_widget_cap
- searchwp_dashboard_widget_transient_ttl
- searchwp_debug
- searchwp_debug_detailed
- searchwp_debug_include_pid
- searchwp_extensions
- searchwp_failed_index_notice
- searchwp_init
- searchwp_initial_engine_settings
- searchwp_license_key
- searchwp_locale_override
- searchwp_missing_integration_notices
- searchwp_nuke_on_delete
- searchwp_settings_cap
- searchwp_show_conflict_notices
- searchwp_show_filter_conflict_notices
- searchwp_skip_vendor_libs
- searchwp_statistics_cap
- searchwp_statistics_popular_days_{$days}
Indexer Filters
- searchwp_aggressive_delta_update
- searchwp_alternate_indexer
- searchwp_auto_reindex
- searchwp_background_deltas
- searchwp_basic_auth_creds
- searchwp_custom_field_{name}
- searchwp_custom_fields
- searchwp_custom_stemmer
- searchwp_do_blocks
- searchwp_do_shortcode
- searchwp_endpoint
- searchwp_exclude_common
- searchwp_excluded_custom_fields
- searchwp_exclusive_regex_matches
- searchwp_external_pdf_processing
- searchwp_extra_metadata
- searchwp_get_custom_fields
- searchwp_include_comment_author
- searchwp_include_comment_email
- searchwp_index_attachments
- searchwp_index_chunk_size
- searchwp_index_comments
- searchwp_index_emoji
- searchwp_indexed_post_types
- searchwp_indexer_additional_meta_exclusions
- searchwp_indexer_apply_engines_rules
- searchwp_indexer_comment
- searchwp_indexer_comments_args
- searchwp_indexer_enabled
- searchwp_indexer_excluded_by_rules
- searchwp_indexer_load_monitoring
- searchwp_indexer_loopback_args
- searchwp_indexer_max_attempts
- searchwp_indexer_paused
- searchwp_indexer_pre_process_content
- searchwp_indexer_tag_attributes
- searchwp_indexer_taxonomies
- searchwp_indexer_taxonomy_term
- searchwp_indexer_taxonomy_term_index_slug
- searchwp_indexer_taxonomy_terms
- searchwp_indexer_throttle
- searchwp_indexer_unindexed_args
- searchwp_indexer_unindexed_media_args
- searchwp_is_attribute_used
- searchwp_is_used_meta_key
- searchwp_is_used_taxonomy
- searchwp_keyword_stem_locale
- searchwp_lenient_accent_result
- searchwp_lenient_accents_conversions
- searchwp_load_maximum
- searchwp_max_delta_attempts
- searchwp_max_index_attempts
- searchwp_mimes_{$mime_type_group}
- searchwp_minimum_word_length
- searchwp_omit_document_processing
- searchwp_omit_meta_key
- searchwp_omit_meta_key_{$custom_field_key}
- searchwp_omit_wp_metadata
- searchwp_pdf_metadata
- searchwp_pdf_spaces_to_content_percentage
- searchwp_post_statuses
- searchwp_pre_set_post
- searchwp_prevent_indexing
- searchwp_process_term_limit
- searchwp_remove_pre_get_posts
- searchwp_sanitize_terms
- searchwp_set_post
- searchwp_stopwords
- searchwp_term_count_limit
- searchwp_term_pattern_whitelist
- searchwp_timeout
Search Algorithm Filters
- searchwp_allow_quoted_phrase_search
- searchwp_and_fields
- searchwp_and_fields_{$post_type}
- searchwp_and_logic
- searchwp_and_logic_only
- searchwp_auto_output_revised_search_query
- searchwp_big_selects
- searchwp_custom_field_keys
- searchwp_custom_stemmer
- searchwp_debug_append_weights_to_titles
- searchwp_disable_impose_engine_config
- searchwp_do_blocks
- searchwp_do_suggestions
- searchwp_enable_attribution_{post_type}
- searchwp_enable_parent_attribution_{post_type}
- searchwp_engine_settings_{engine}
- searchwp_exclude
- searchwp_exclude_common
- searchwp_force_run
- searchwp_force_wp_query
- searchwp_force_wpquery_order
- searchwp_found_post_objects
- searchwp_fuzzy_digit_threshold
- searchwp_fuzzy_min_length
- searchwp_fuzzy_threshold
- searchwp_in_admin
- searchwp_include
- searchwp_index_emoji
- searchwp_indexer_comment
- searchwp_indexer_comments_args
- searchwp_indexer_taxonomy_term
- searchwp_indexer_taxonomy_term_index_slug
- searchwp_indexer_taxonomy_terms
- searchwp_is_attribute_used
- searchwp_is_used_meta_key
- searchwp_is_used_taxonomy
- searchwp_keyword_stem_locale
- searchwp_lenient_accent_result
- searchwp_lenient_accents
- searchwp_lenient_accents_conversions
- searchwp_lenient_accents_on_search
- searchwp_like_min_length
- searchwp_like_stem
- searchwp_like_wildcard_after
- searchwp_like_wildcard_before
- searchwp_load_posts
- searchwp_log_search
- searchwp_max_and_results
- searchwp_max_search_terms
- searchwp_max_search_terms_{$engine}
- searchwp_max_search_terms_supplemental
- searchwp_mimes_{$mime_type_group}
- searchwp_minimum_word_length
- searchwp_partial_matches_force_fuzzy
- searchwp_partial_matches_lenient
- searchwp_partial_matching_{$engine}
- searchwp_pdf_metadata
- searchwp_persist_extra_metadata
- searchwp_posts_per_page
- searchwp_pre_search_terms
- searchwp_pre_set_post
- searchwp_query_allow_query_string_override_order
- searchwp_query_allow_query_string_override_orderby
- searchwp_query_conditions
- searchwp_query_join
- searchwp_query_limit_start
- searchwp_query_limit_total
- searchwp_query_main_join
- searchwp_query_offset
- searchwp_query_orderby
- searchwp_query_results
- searchwp_query_select_inject
- searchwp_refine_and_results
- searchwp_remove_pre_get_posts_during_search
- searchwp_results
- searchwp_return_orderby_date
- searchwp_return_orderby_random
- searchwp_sanitize_terms
- searchwp_search_args
- searchwp_search_query_order
- searchwp_short_circuit
- searchwp_stopwords
- searchwp_swp_query_post__in_explicit
- searchwp_swp_query_post__not_in_explicit
- searchwp_term_in
- searchwp_terms
- searchwp_weight_max
- searchwp_weight_mods
- searchwp_weight_threshold
- searchwp_where
Document Processing Filters
Stopword Filters
Partial Match Filters
Highlighting Filters
- searchwp_term_highlight_break_on_first_match
- searchwp_term_highlight_occurrence
- searchwp_th_auto_filter_excerpt
- searchwp_th_auto_highlight_content
- searchwp_th_do_shortcode
- searchwp_th_excluded_engines
- searchwp_th_num_words
- searchwp_th_partial_matches
- searchwp_th_password_required_message
- searchwp_th_pre_process_content
- searchwp_th_pre_process_meta_value
- searchwp_th_strip_shortcodes
- searchwp_th_use_span
Engine Config UI Filters
- searchwp_acf_remove_field_reference
- searchwp_acf_remove_field_references
- searchwp_acf_remove_repeatable_child
- searchwp_acf_remove_repeatable_children
- searchwp_custom_field_keys_{$post_type}
- searchwp_engine_content_type_applicable
- searchwp_engine_content_type_label
- searchwp_engine_use_taxonomy_name
- searchwp_lazy_settings
- searchwp_lightweight_settings
- searchwp_meta_groups
- searchwp_meta_groups_acf_repeatables
- searchwp_purge_pdf_content
- searchwp_supports_label_{post_type}_{support}