The wp_ajax_wpfts_autocomplete Hook in WPFTS
The wp_ajax_wpfts_autocomplete hook is a WordPress AJAX hook that processes autocomplete search requests for WPFTS from logged-in users. A version for non-logged-in users, wp_ajax_nopriv_wpfts_autocomplete, exists and functions similarly.
What WPFTS Does When wp_ajax_wpfts_autocomplete is Called:
-
Retrieving Request Data: The hook retrieves data from the AJAX request, including the user’s search term (
s), the widget code (wpfts_wdgt), and other parameters. -
Performing the Search: WPFTS performs a search query using the received parameters, employing the
WP_Queryclass. The parameterwpfts_is_force = 1ensures that the WPFTS search is used, andwpfts_source = 'wpfts_autocomplete_ajax'specifies the request source. If a widget code is provided, its parameters are also considered during the search. Otherwise, default parameters are used, as for the main WordPress query (e.g.,post_status = 'publish'). -
Formatting Results: For each found post, an array is created with the title (label) and link (link).
-
Applying Smart Excerpts: If the Smart Excerpts option is enabled, the
WPFTS_Core::ForceSmartExcerpts()method is called to prepare excerpts for display in the autocomplete results. -
Returning Results: The search results are returned in JSON format.
Important Functions Involved in Processing wp_ajax_wpfts_autocomplete:
WPFTS_Core::ForceSmartExcerpts()WP_Query
How to Use This in Addon Development:
Addon developers typically don’t need to interact with this hook directly. However, understanding its functionality can be helpful when integrating with WPFTS and creating custom autocomplete features.
Additional Notes:
- This hook handles requests only from logged-in users. For non-logged-in users, the
wp_ajax_nopriv_wpfts_autocompletehook is used. - Search results are limited to the title and link. To display additional information in the autocomplete results, the hook handler code needs to be modified.
- The hook handler uses the
wpfts_json_encode()function for secure JSON encoding of the data.
This hook demonstrates how WPFTS handles autocomplete requests for unauthorized users and can serve as a useful example for addon developers.