# Ajax Search Pro Knowledge Base

## Knowledge Base - Ajax Search Pro for WordPress

- [Knowledge Base](https://knowledgebase.ajaxsearchpro.com/master.md): Ajax Search Pro for WordPress knowledge base
- [Safe Coding Guideline](https://knowledgebase.ajaxsearchpro.com/safe-coding-guideline.md): How to safely edit your theme or plugin files
- [Filters](https://knowledgebase.ajaxsearchpro.com/hooks/filters.md)
- [Query & Output](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output.md)
- [asp\_query\_args](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_query_args.md)
- [asp\_query\_{type}](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_query_-type.md): Gives access to the query string, before executing.
- [asp\_cached\_content](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_cached_content.md): Filters the cached content output for the live search
- [asp\_pre\_get\_front\_filters](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_pre_get_front_filters.md): Runs before the array of frontend filter objects are returned to the output handler.
- [asp\_before\_ajax\_output](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_before_ajax_output.md): Executed on the ajax search results output.
- [asp\_shortcode\_output](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_shortcode_output.md): Allows manipulating the executed search shortcode output
- [asp\_print\_search\_query](https://knowledgebase.ajaxsearchpro.com/hooks/filters/query-and-output/asp_print_search_query.md): Allows changing the value (search query) before printed to the search input field on the search results page
- [Keyword Suggestions](https://knowledgebase.ajaxsearchpro.com/hooks/filters/keyword-suggestions.md): Keyword suggestion and autocomplete hooks
- [Search Results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results.md)
- [asp\_suggested\_phrases](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_suggested_phrases.md)
- [asp\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_results.md): Let's you access the results array before sending it to the templating system.
- [asp\_cpt\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_cpt_results.md): Gives access the term results results array before sending it to the templating system.
- [asp\_buddyp\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_buddyp_results.md): Gives access the budyypress results results array before sending it to the templating system.
- [asp\_attachment\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_attachment_results.md): Gives access the attachment results results array before sending it to the templating system.
- [asp\_comment\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_comment_results.md): Gives access the comment results results array before sending it to the templating system.
- [asp\_blog\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_blog_results.md): Gives access the multisite blog results results array before sending it to the templating system.
- [asp\_terms\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_terms_results.md): Let's you access the term results results array before sending it to the templating system.
- [asp\_peepso\_group\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_peepso_group_results.md): Gives access the peepso group results results array before sending it to the templating system.
- [asp\_peepso\_activities\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_peepso_activities_results.md): Gives access the peepso activites results results array before sending it to the templating system.
- [asp\_only\_keyword\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_only_keyword_results.md): Gives access to the live search suggested keywords array before sending them to the templating system.
- [asp\_only\_non\_keyword\_results](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_only_non_keyword_results.md): Gives access the results array before sending it to the templating system.
- [asp\_result\_groups](https://knowledgebase.ajaxsearchpro.com/hooks/filters/search-results/asp_result_groups.md): Search results when the results grouping feature is enabled
- [CSS & JS](https://knowledgebase.ajaxsearchpro.com/hooks/filters/css-and-js.md)
- [asp/assets/load](https://knowledgebase.ajaxsearchpro.com/hooks/filters/css-and-js/asp_load_css_js.md): Hook to control loading both the CSS and JS assets on the site front-end.
- [asp/assets/load/js](https://knowledgebase.ajaxsearchpro.com/hooks/filters/css-and-js/asp_load_js.md): Hook to control the loading of plugin javascript files programmatically for the site front-end.
- [asp/assets/load/css](https://knowledgebase.ajaxsearchpro.com/hooks/filters/css-and-js/asp_load_css.md): Hook to control the loading of plugin stylesheet (CSS) files programmatically for the site front-end.
- [Template & Output](https://knowledgebase.ajaxsearchpro.com/hooks/filters/template-and-output.md)
- [asp\_icl\_t](https://knowledgebase.ajaxsearchpro.com/hooks/filters/template-and-output/asp_icl_t.md): Fires before the translation for front-end components
- [Index Table Related](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related.md): Index Table related plugin hooks
- [asp\_index\_on\_save\_stop](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_index_on_save_stop.md): Allows stopping the indexing process when a new post is added or an existing one is saved
- [asp\_indexing\_keywords](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_indexing_keywords.md): Keywords before the index table engine inserts them into the database
- [asp\_indexing\_string\_pre\_process](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_indexing_string_pre_process.md)
- [asp\_indexing\_string\_post\_process](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_indexing_string_post_process.md)
- [asp\_post\_content\_before\_tokenize\_clear](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_content_before_tokenize_clear.md)
- [asp\_post\_content\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_content_before_tokenize.md)
- [asp\_post\_excerpt\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_excerpt_before_tokenize.md)
- [asp\_post\_title\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_title_before_tokenize.md)
- [asp\_file\_contents\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_file_contents_before_tokenize.md)
- [asp\_post\_permalink\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_permalink_before_tokenize.md)
- [asp\_index\_terms](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_index_terms.md)
- [asp\_post\_custom\_field\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_post_custom_field_before_tokenize.md)
- [asp\_index\_cf\_contents\_before\_tokenize](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_index_cf_contents_before_tokenize.md)
- [asp\_index\_before\_shortcode\_execution](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_index_before_shortcode_execution.md)
- [asp\_index\_after\_shortcode\_execution](https://knowledgebase.ajaxsearchpro.com/hooks/filters/index-table-related/asp_index_after_shortcode_execution.md)
- [Templating](https://knowledgebase.ajaxsearchpro.com/hooks/templating.md)
- [Filter layouts Templating](https://knowledgebase.ajaxsearchpro.com/hooks/templating/filter-layouts-templating.md)
- [Result Templating](https://knowledgebase.ajaxsearchpro.com/hooks/templating/result-templating.md): Making direct changes to the results files
- [Javascript Hooks](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks.md)
- [asp\_redirect\_url](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks/asp_redirect_url.md)
- [asp\_search\_data](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks/asp_search_data.md)
- [asp\_live\_load\_html](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks/asp_live_load_html.md)
- [asp\_search\_html](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks/asp_search_html.md)
- [asp\_compact\_width](https://knowledgebase.ajaxsearchpro.com/hooks/javascript-hooks/asp_compact_width.md)
- [Constants](https://knowledgebase.ajaxsearchpro.com/hooks/constants.md): Plugin constants
- [Taxonomy Filters](https://knowledgebase.ajaxsearchpro.com/frontend-filters/taxonomy-filters.md): Taxonomy filters realted tips and tricks and custom codes
- [Restricting results to the same category as the current post object](https://knowledgebase.ajaxsearchpro.com/frontend-filters/taxonomy-filters/restricting-results-to-the-same-category-as-the-current-post-object.md): Limiting posts, pages, products or any custom post type results to only categories, or any taxonomy terms - where the post type object (post, page, product etc..) belongs to.
- [How to automatically check/select filter values based on the archive page?](https://knowledgebase.ajaxsearchpro.com/frontend-filters/taxonomy-filters/how-to-automatically-check-select-filter-values-based-on-the-archive-page.md): Automatically selecting taxonomy filter values, based on the current taxonomy archive page
- [Frontend filters API](https://knowledgebase.ajaxsearchpro.com/frontend-filters/frontend-filters-api.md): API for adding/modifying and removing front-end plugin filter boxes
- [Divi](https://knowledgebase.ajaxsearchpro.com/miscellaneous/divi.md)
- [Divi Blogs Live Search and Filter](https://knowledgebase.ajaxsearchpro.com/miscellaneous/divi/divi-blogs-live-search-and-filter.md): Integration with Divi Blogs module for live search and filter with Ajax Search Pro
- [Jet Engine](https://knowledgebase.ajaxsearchpro.com/miscellaneous/jet-engine.md)
- [Jet Engine Listing Grid Live Search and Filter](https://knowledgebase.ajaxsearchpro.com/miscellaneous/jet-engine/jet-engine-listing-grid-live-search-and-filter.md): Ajax Search Pro integration with Jet Engine Listing Grid filter for powerful live searches
- [Searching Jet Engine Custom Meta Storage fields](https://knowledgebase.ajaxsearchpro.com/miscellaneous/jet-engine/searching-jet-engine-custom-meta-storage-fields.md): How to search within custom table fields in Jet Engine Post Types
- [Tutorials](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials.md)
- [PDF results thumbnails](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/pdf-results-thumbnails.md): Generating thumbnail images for PDF results
- [Demo setup: Staff search and Filter](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/demo-setup-staff-search-and-filter.md)
- [Demo Setup: WooCommerce Search](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/demo-setup-woocommerce-search.md): WooCommerce search example explained
- [Demo setup: WooCommerce Shop Search and Filter](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/demo-setup-woocommerce-shop-search-and-filter.md): Placing Ajax Search Pro search and filters to the WooCommerce shop page
- [Demo Setup: Events Search – Events Manager](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/demo-setup-events-search-events-manager.md)
- [Demo Setup: Events Search – The Events Calendar](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/demo-setup-events-search-the-events-calendar.md)
- [Compact ‘pop-out’ search bar placement on specific pages only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/compact-pop-out-search-bar-placement-on-specific-pages-only.md)
- [Index Table – Indexing ACF repeater field titles and contents](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/index-table-indexing-acf-repeater-field-titles-and-contents.md)
- [Change Suggested Phrases conditionally](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/change-suggested-phrases-conditionally.md)
- [How to add shortcode to the results content?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/how-to-add-shortcode-to-the-results-content.md): Displaying shortcode outputs on the live search results content field
- [How to add variables to the “redirect to url” or the “show more url”?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/how-to-add-variables-to-the-redirect-to-url-or-the-show-more-url.md)
- [Indexing Shortcodes within custom field contents](https://knowledgebase.ajaxsearchpro.com/miscellaneous/tutorials/indexing-shortcodes-within-custom-field-contents.md): How to index shortcode contents, which are within custom field contents.
- [Post Types](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types.md)
- [Index Table - Indexing child post contents to parent](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/index-table-indexing-child-post-contents-to-parent.md)
- [Limit results to specific post IDs only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/limit-results-to-specific-post-ids-only.md)
- [Filter posts (or CPT) which user can’t access](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/filter-posts-or-cpt-which-user-cant-access.md)
- [Restricting results by user Groups using the Groups plugin by itthinx](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/restricting-results-by-user-groups-using-the-groups-plugin-by-itthinx.md)
- [Limiting results to specific posts by parent ID](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/limiting-results-to-specific-posts-by-parent-id.md)
- [Limit results to current page children](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/limit-results-to-current-page-children.md): Results only where the current post (or page or any cpt) is the parent
- [Excluding posts or CPT by parent ID(s)](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/excluding-posts-or-cpt-by-parent-id-s.md)
- [Searching posts, pages (or any CPT) by specified keywords only, nothing else](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/searching-posts-pages-or-any-cpt-by-specified-keywords-only-nothing-else.md)
- [Showing the post type name in result title or content](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/showing-the-post-type-name-in-result-title.md): Displaying post type name in the live results title or content field
- [Searching within given categories/taxonomy terms only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/searching-within-given-categories-taxonomy-terms-only.md)
- [Search only in the same category as the current post or page (single page)](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/search-only-in-the-same-category-as-the-current-post-or-page-single-page.md)
- [Search only within the current category (or any taxonomy) archive](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/search-only-within-the-current-category-or-any-taxonomy-archive.md)
- [Filtering pages by page template](https://knowledgebase.ajaxsearchpro.com/miscellaneous/post-types/filtering-pages-by-page-template.md): Pages can be filtered or restricted via using custom field filters.
- [Taxonomy Terms](https://knowledgebase.ajaxsearchpro.com/miscellaneous/taxonomy-terms.md)
- [Displaying taxonomy name in taxonomy term results](https://knowledgebase.ajaxsearchpro.com/miscellaneous/taxonomy-terms/displaying-taxonomy-name-in-taxonomy-term-results.md)
- [Limiting taxonomy term results to specific term IDs only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/taxonomy-terms/limiting-taxonomy-term-results-to-specific-term-ids-only.md): Limiting category, post tag, and other taxonomy term results to specific IDs only
- [WooCommerce](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce.md)
- [Displaying On Sale products only in WooCommerce](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/displaying-on-sale-products-only-in-woocommerce.md): How to display WooCommerce products, which are on sale, and exclude the ones which are not
- [Ordering product by stock status](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/ordering-product-by-stock-status.md)
- [Making a product in-stock & out of stock filter](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/making-a-product-in-stock-and-out-of-stock-filter.md): WooCommerce product stock filter tutorial
- [Add to cart button for Vertical and Horizontal results](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/add-to-cart-button-for-vertical-and-horizontal-results.md): WooCommerce - Add to cart button for Vertical and Horizontal results
- [Get formatted price in result title or in content](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/get-formatted-price-in-result-title-or-in-content.md): WooCommerce - Get formatted price in result title or in content
- [Showing products in-stock only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/showing-products-in-stock-only.md): WooCommerce - Showing products in-stock only
- [Showing in-stock and backorder products only](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/showing-in-stock-and-backorder-products-only.md): Excluding out of stock, but including instock and onbackorder products
- [Excluding hidden catalog products](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/excluding-hidden-catalog-products.md): WooCommerce - Excluding hidden catalog products
- [Showing featured products first](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/showing-featured-products-first.md): Displaying featured products first in search results
- [How to search products & product SKU?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/how-to-search-products-and-product-sku.md): WooCommerce - How to search products & product SKU
- [How to search Products by variation SKUs?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/how-to-search-products-by-variation-skus.md): Indexing variation SKUs to the parent product
- [Search product attributes](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/search-product-attributes.md): WooCommerce - Search product attributes
- [How to search users by city, state, zip code… ?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/woocommerce/how-to-search-users-by-city-state-zip-code....md)
- [Compatibility](https://knowledgebase.ajaxsearchpro.com/miscellaneous/compatibility.md)
- [WPML Compatibility issues and fixes](https://knowledgebase.ajaxsearchpro.com/miscellaneous/compatibility/wpml-compatibility-issues-and-fixes.md)
- [Files & Media](https://knowledgebase.ajaxsearchpro.com/miscellaneous/files-and-media.md): File and media search related knowledge base
- [Searching Image EXIF metadata](https://knowledgebase.ajaxsearchpro.com/miscellaneous/files-and-media/searching-image-exif-metadata.md): Indexing image metadata with Ajax Search Pro
- [Other](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other.md): Other useful snippets
- [Restrict results from the current author archive page](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/restrict-results-from-the-current-author-archive-page.md): Custom code to display only results from the current author - when on the author archive page
- [Presetting search options via a custom URL](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/presetting-search-options-via-a-custom-url.md): Setting search settings (checkboxes, dropdown etc..) via adding query arguments to current page URL
- [Matomo analytics tracking integration](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/matomo-analytics-tracking-integration.md): Integrating with Matomo analytics
- [Replace search keywords (whole words)](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/replace-search-keywords-whole-words.md)
- [Replace or remove characters from search phrase](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/replace-or-remove-characters-from-search-phrase.md)
- [Adding spaces in search phrase between alphabetics and numbers](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/adding-spaces-in-search-phrase-between-alphabetics-and-numbers.md): Changing search input for better fuzzy matching
- [How to change the results URL to something else?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/how-to-change-the-results-url-to-something-else.md)
- [Numbering the results](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/numbering-the-results.md): Adding number before each results
- [How to use the search without the live ajax feature, as a regular search?](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/how-to-use-the-search-without-the-live-ajax-feature-as-a-regular-search.md)
- [Empty search input field on the search results page](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/empty-search-input-field-on-the-search-results-page.md): Make the search query disappear from the input field on the search results page after redirection
- [Singular and Plural keywords index](https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/singular-and-plural-keywords-index.md): Automatic singularization and pluralization with Ajax Search Pro
- [WP CLI commands](https://knowledgebase.ajaxsearchpro.com/api/wp-cli-commands.md): Ajax Search Pro WordPress command line commands list
- [Index Table CLI](https://knowledgebase.ajaxsearchpro.com/api/wp-cli-commands/index-table-cli.md): The index table subcommand lets you create, maintain and get information about the search index.
- [Search Cache CLI](https://knowledgebase.ajaxsearchpro.com/api/wp-cli-commands/search-cache-cli.md): Controlling the Ajax Search Pro cache via wordpress cli
- [REST API](https://knowledgebase.ajaxsearchpro.com/api/rest-api.md): Using the Ajax Search Pro Rest API
- [Javascript API](https://knowledgebase.ajaxsearchpro.com/api/javascript-api.md)
- [Theme Functions](https://knowledgebase.ajaxsearchpro.com/api/theme-functions.md): Theme functions are to be used within the current site theme files
- [SearchQuery](https://knowledgebase.ajaxsearchpro.com/api/searchquery.md): SearchQuery class usage to fetch results with Ajax Search Pro
- [Building a custom REST API](https://knowledgebase.ajaxsearchpro.com/other/building-a-custom-rest-api.md): Building a REST api via the ASP\_Query class
