=== Hintr - Lightning-Fast, Advanced Search Suggestions === Contributors: martincipriano Donate link: https://www.paypal.me/martincipriano Tags: search, suggestion Tested up to: 6.7 Stable tag: 1.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Enhance your WordPress site's search functionality by offering search suggestions sourced from selected post types and metadata. == Description == **Hintr** is a WordPress plugin designed to improve search by providing lightning-fast suggestions. Easily configure which post types to pull search suggestions from. You can also show suggestions if the search keyword is found in a post's metadata, such as price, SKU, serial number, etc. **Features:** - Effortlessly select which post types search suggestions should be pulled from. - Show suggestions when the search keyword is found in a post's metadata. - Customize search behavior for different input fields via data attributes. - Lightweight and highly configurable, ensuring seamless integration. This plugin is perfect for blogs, e-commerce sites, or any WordPress site that can benefit from enhanced search capabilities. == Installation == 1. Download the plugin file and extract it. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Go to **Settings > Hintr** to configure the plugin options. == Usage == - Automatic Application: Search suggestions are automatically applied to text inputs with the data attribute name="s". - Custom Implementation: To customize behavior, add the data-hintr attribute to a text input. - Override the default settings by assigning a JSON-formatted settings value to the data-hintr attribute. - Example: == Frequently Asked Questions == = What does Hintr do? = Hintr enhances your search input with a dynamic list of suggestions. It allows you to retrieve suggestions from specific post types and display posts when the search keyword matches their metadata. = Can I use this plugin with custom post types? = Yes! Hintr works with any public custom post type registered on your site. = Do I need to code anything? = - No coding required when using the global settings for effortless setup. - Fine-tune search suggestions for multiple search inputs with basic knowledge of: - Writing a JSON string. - Using HTML data attributes. = How can I apply different search suggestion settings to multiple search inputs? = To apply custom settings for each search input, add the `data-hintr` attribute to the respective ` or ` fields. **Here's what you can configure:** - `count` (int/string): The number of suggestions to display. - `search_in` (array): Define the post types and corresponding metadata to search against. - `key` (string): The post type from which suggestions will be pulled (e.g., 'post', 'page'). - `value` (array): An array of meta keys that will be compared to the search keyword. **Example json value for data-hintr attribute:**
{
"count": "10",
"search_in": {
"post": ["meta_key_1", "meta_key_2", "meta_key_3"],
"page": ["meta_key_1", "meta_key_2", "meta_key_3"]
}
}
= Will this plugin slow down my site? =
Hintr is optimized for speed, but performance can be affected by the number of posts being searched.
== Changelog ==
= 1.0.0 =
* Added: Admin settings page for selecting post types and metadata.
* Added: REST API endpoint based on selected settings.
* Added: JavaScript to store posts in the browser's local storage.
* Added: JavaScript to show search suggestions in a dropdown.
= 1.1.0 =
* Added: Count limit field in settings page.
* Added: JavaScript to limit the number of suggestions displayed in the dropdown.
= 1.1.1 =
* Apply fixes for text domain mismatch required by WordPress
= 1.1.2 =
* Cache the database query results for getting metadata used by a post type in the settings page
= 1.1.3 =
* Added donation link and screenshots to the readme file.
= 1.1.4 =
* Added: Add a suggestion count to improve performance and prevent showing too many suggestions.
* Added: Added a script to prevent access to the main plugin file.
* Updated: assets/js/hintr.js to replace the use of hashed post. Instead check when the local storage was last updated before updating the local storage.
* Updated: Updated slimselect.js to use the uinminified version.
* Deleted: Remove load_plugin_textdomain() since it is not being used since WordPress 4.6.
= 1.2.0 =
* Added: Added a checkbox input in the settings to allow the users to disable the suggestions from the default WordPress search.
* Added: Added a condition in the javascript before applying the suggestions to default WordPress search inputs.
* Added: Save the suggestions to a json file in the uploads directory so a query to the database isn't required every time a local storage is going to be created.
* Removed: Remove the scripts for creating a custom endpoint.
== Upgrade Notice ==
= 1.2.0 =
* Performance imporvement using a json file in the uploads directory instead of getting the posts from a custom endpoint.
== License ==
This plugin is licensed under the GNU General Public License v2.0 or later.
You may obtain a copy of the license at: https://www.gnu.org/licenses/gpl-2.0.html
== Screenshots ==
1. Post type field in the settings determines where to pull the suggestions from.
*Description: Displays post suggestions pulled from the selected post types.*
2. Custom field key input in the settings enables search using custom field value.
*Description: Displays post suggestions if the keyword partially matches its custom field value*
3. Example use case.
*Description: Searching for "capacitor" will display posts with the keyword in their title. Searching "electronics" will show posts where the keyword is present in the posts custom field.*