{"id":236038,"date":"2025-06-28T17:27:50","date_gmt":"2025-06-28T17:27:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ajax-post-search-and-filter\/"},"modified":"2025-06-28T17:27:39","modified_gmt":"2025-06-28T17:27:39","slug":"ajax-post-search-and-filter","status":"publish","type":"plugin","link":"https:\/\/nn.wordpress.org\/plugins\/ajax-post-search-and-filter\/","author":22024174,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2","stable_tag":"1.2","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"AJAX Post Search and Filter","header_author":"Nirav Kaneriya","header_description":"A lightweight WordPress plugin that provides AJAX-based filtering for posts using a shortcode.","assets_banners_color":"","last_updated":"2025-06-28 17:27:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/github.com\/NiravKaneriya","rating":5,"author_block_rating":0,"active_installs":0,"downloads":420,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2":{"tag":"1.2","author":"niravkaneriya","date":"2025-06-28 17:27:39"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Frontend filter layout","2":"AJAX filter results"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5861,2109,50137,80,91],"plugin_category":[43,57],"plugin_contributors":[244244],"plugin_business_model":[],"class_list":["post-236038","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax-filter","plugin_tags-ajax-search","plugin_tags-post-filter","plugin_tags-shortcode","plugin_tags-taxonomy","plugin_category-customization","plugin_category-taxonomy","plugin_contributors-niravkaneriya","plugin_committers-niravkaneriya"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ajax-post-search-and-filter.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AJAX Post Search and Filter allows users to filter posts in real-time using taxonomy terms like categories, tags, or custom taxonomies. Add the filter anywhere using a simple shortcode.<\/p>\n\n<h3>Shortcode<\/h3>\n\n<p>Use this shortcode:<\/p>\n\n<pre><code>[post_filter post=\"post\" taxonomy=\"category, test\" logic=\"saprate\" load_type=\"button\" per_page=\"3\"]&lt;h3&gt;License&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>This plugin is free software, released under the GPLv2 or later license.<\/p>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added nonce verification and user permission checks for secure AJAX requests.<\/li>\n<li>Improved AJAX response handling and error fallback in JavaScript.<\/li>\n<li>Optimized tax query logic with support for \"AND\"\/\"OR\" filters.<\/li>\n<li>Enhanced code structure for better maintainability.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Fully sanitized all AJAX input data to comply with WordPress security standards.<\/li>\n<li>Added missing version parameters to enqueued CSS and JS to prevent browser caching issues.<\/li>\n<li>Refactored input handling logic to pass PHPCS validation.<\/li>\n<li>Minor code improvements for performance and readability.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate it from the \"Plugins\" menu in WordPress<\/li>\n<li>Add the shortcode to any page\/post to display the filter<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20i%20filter%20custom%20post%20types%3F'><h3>Can I filter custom post types?<\/h3><\/dt>\n<dd><p>Yes! Just set the <code>post<\/code> attribute in the shortcode to your custom post type slug.<\/p><\/dd>\n<dt id='does%20it%20support%20multiple%20taxonomies%3F'><h3>Does it support multiple taxonomies?<\/h3><\/dt>\n<dd><p>Yes. You can list multiple taxonomies like <code>category, post_tag<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"A lightweight and flexible AJAX-based search and filter plugin for posts. Supports multiple taxonomies and custom post types via shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/236038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=236038"}],"author":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/niravkaneriya"}],"wp:attachment":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=236038"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=236038"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=236038"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=236038"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=236038"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=236038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}