{"id":263269,"date":"2025-11-29T09:39:29","date_gmt":"2025-11-29T09:39:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/apply-button-scroll-to-top-for-jetsmartfilters\/"},"modified":"2025-12-17T13:28:24","modified_gmt":"2025-12-17T13:28:24","slug":"runthings-jsf-apply-button-scroll-to-top","status":"publish","type":"plugin","link":"https:\/\/sw.wordpress.org\/plugins\/runthings-jsf-apply-button-scroll-to-top\/","author":20973379,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.2","stable_tag":"1.1.2","tested":"6.9.4","requires":"6.6","requires_php":"8.0","requires_plugins":null,"header_name":"Apply Button Scroll to Top for JetSmartFilters","header_author":"runthingsdev","header_description":"Adds scroll-to-top functionality to JetSmartFilters apply button widget","assets_banners_color":"8eacbf","last_updated":"2025-12-17 13:28:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/runthings.dev\/wordpress-plugins\/jsf-apply-button-back-to-top\/","header_author_uri":"https:\/\/runthings.dev","rating":0,"author_block_rating":0,"active_installs":70,"downloads":642,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"runthingsdev","date":"2025-11-29 10:08:23"},"1.1.1":{"tag":"1.1.1","author":"runthingsdev","date":"2025-12-16 21:57:18"},"1.1.2":{"tag":"1.1.2","author":"runthingsdev","date":"2025-12-17 13:28:24"}},"upgrade_notice":{"1.1.2":"<p>Bump tested up to 6.9<\/p>","1.1.1":"<p>Bump tested up to 6.9<\/p>","1.1.0":"<p>Improves compatibility with all JetSmartFilters content providers.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3405738,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3405738,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3405738,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3405738,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3421956,"resolution":"1","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3421956,"resolution":"2","location":"plugin"}},"screenshots":{"1":"Elementor widget controls showing scroll configuration options","2":"Elementor widget controls showing scroll configuration options for custom fragment"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[76538,2755,251377,790,3800],"plugin_category":[],"plugin_contributors":[228895],"plugin_business_model":[],"class_list":["post-263269","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor","plugin_tags-filters","plugin_tags-jetsmartfilters","plugin_tags-scroll","plugin_tags-ux","plugin_contributors-runthingsdev","plugin_committers-runthingsdev","plugin_support_reps-rtpharry"],"banners":{"banner":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/assets\/banner-772x250.png?rev=3405738","banner_2x":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/assets\/banner-1544x500.png?rev=3405738","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/assets\/icon-128x128.png?rev=3405738","icon_2x":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/assets\/icon-256x256.png?rev=3405738","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/trunk\/screenshot-1.png?rev=3421956","caption":"Elementor widget controls showing scroll configuration options"},{"src":"https:\/\/ps.w.org\/runthings-jsf-apply-button-scroll-to-top\/trunk\/screenshot-2.png?rev=3421956","caption":"Elementor widget controls showing scroll configuration options for custom fragment"}],"raw_content":"<!--section=description-->\n<p>This plugin extends the JetSmartFilters Apply Button widget in Elementor by adding configurable scroll behavior when the apply button is clicked.<\/p>\n\n<p>When users apply filters, the page can automatically scroll to show the filtered results, improving the user experience by ensuring users see the updated content immediately.<\/p>\n\n<p>The plugin integrates seamlessly with Elementor's widget controls and requires no coding to configure.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Add scroll-to-top functionality to JetSmartFilters apply button widgets<\/li>\n<li>Multiple scroll modes: Auto-detect, Window Top, Query ID, or Custom Target<\/li>\n<li>Auto-detection intelligently finds the listing grid based on JetSmartFilters configuration<\/li>\n<li>Smooth scrolling animation for better UX<\/li>\n<li>No alteration to JetSmartFilters or Elementor core functionality<\/li>\n<li>Per-widget configuration via Elementor's interface<\/li>\n<li>Lightweight JavaScript implementation<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.<\/p>\n\n<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<\/p>\n\n<p>You should have received a copy of the GNU General Public License along with this program; if not, see <a href=\"http:\/\/www.gnu.org\/licenses\/gpl-3.0.html\">http:\/\/www.gnu.org\/licenses\/gpl-3.0.html<\/a>.<\/p>\n\n<p>Logo - up by nakals from <a href=\"https:\/\/thenounproject.com\/browse\/icons\/term\/up\/\" title=\"up Icons\">Noun Project<\/a> (CC BY 3.0)<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the entire \"runthings-jsf-apply-button-scroll-to-top\" folder to the \/wp-content\/plugins\/ directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Edit any page with Elementor that contains a JetSmartFilters Apply Button widget.<\/li>\n<li>Select the Apply Button widget and look for the \"Scroll to top on apply\" control in the widget settings.<\/li>\n<li>Enable the feature and configure your preferred scroll mode.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20enable%20scroll%20functionality%3F'><h3>How do I enable scroll functionality?<\/h3><\/dt>\n<dd><p>Edit your page in Elementor, select the JetSmartFilters Apply Button widget, and toggle on \"Scroll to top on apply\" in the widget settings. Choose your preferred scroll mode.<\/p><\/dd>\n<dt id='what%20scroll%20modes%20are%20available%3F'><h3>What scroll modes are available?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Auto detect<\/strong>: Automatically detects the target based on Query ID or content provider<\/li>\n<li><strong>Window top<\/strong>: Always scrolls to the top of the page<\/li>\n<li><strong>Query ID<\/strong>: Scrolls to the element with the ID matching this apply button's Query ID<\/li>\n<li><strong>Custom target ID<\/strong>: Scrolls to a specific element ID you specify<\/li>\n<\/ul><\/dd>\n<dt id='how%20does%20auto%20mode%20work%3F'><h3>How does Auto mode work?<\/h3><\/dt>\n<dd><p>Auto mode intelligently cascades through detection methods:\n1. First tries to use the Query ID if configured\n2. Then attempts to find the listing grid based on the content provider (e.g., jet-engine)\n3. Falls back to scrolling to window top if no target is found<\/p><\/dd>\n<dt id='does%20this%20work%20with%20ajax%20filtering%3F'><h3>Does this work with AJAX filtering?<\/h3><\/dt>\n<dd><p>Yes, the plugin works with both AJAX and page reload apply types in JetSmartFilters.<\/p><\/dd>\n<dt id='does%20this%20change%20any%20jetsmartfilters%20functionality%3F'><h3>Does this change any JetSmartFilters functionality?<\/h3><\/dt>\n<dd><p>No, this plugin only adds scroll behavior. All JetSmartFilters functionality remains unchanged.<\/p><\/dd>\n<dt id='can%20i%20use%20different%20scroll%20settings%20for%20different%20apply%20buttons%3F'><h3>Can I use different scroll settings for different apply buttons?<\/h3><\/dt>\n<dd><p>Yes, each Apply Button widget can have its own scroll configuration.<\/p><\/dd>\n<dt id='what%20user%20capabilities%20are%20required%3F'><h3>What user capabilities are required?<\/h3><\/dt>\n<dd><p>Only users who can edit pages in Elementor will see the configuration options. The scroll functionality works for all site visitors.<\/p><\/dd>\n<dt id='i%20have%20a%20feature%20idea%20%2F%20i%27ve%20found%20a%20bug'><h3>I have a feature idea \/ I've found a bug<\/h3><\/dt>\n<dd><p>You can post ideas or contribute to the project over at the GitHub repository, which can be found at https:\/\/github.com\/runthings-dev\/runthings-jsf-apply-button-scroll-to-top<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2 - 16th December 2025<\/h4>\n\n<ul>\n<li>Bump tested up to 6.9<\/li>\n<\/ul>\n\n<h4>1.1.1 - 16th December 2025<\/h4>\n\n<ul>\n<li>Bump tested up to 6.9<\/li>\n<\/ul>\n\n<h4>1.1.0 - 21st November 2025<\/h4>\n\n<ul>\n<li>Enhanced auto-detection to support all JetSmartFilters content providers<\/li>\n<li>Added proper sanitization and escaping for user input<\/li>\n<\/ul>\n\n<h4>1.0.0 - 19th November 2025<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Multiple scroll modes: Auto detect, Window top, Query ID, Custom target ID<\/li>\n<li>Auto-detection of listing grids based on JetSmartFilters configuration<\/li>\n<li>Smooth scroll animation<\/li>\n<li>Per-widget configuration in Elementor<\/li>\n<li>Support for jet-engine and jet-woo-builder content providers<\/li>\n<li>Intelligent fallback behavior when targets are not found<\/li>\n<li>Lightweight implementation with no dependencies beyond required plugins<\/li>\n<\/ul>","raw_excerpt":"Adds smooth scroll-to-top functionality to JetSmartFilters apply button widget in Elementor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/263269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=263269"}],"author":[{"embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/runthingsdev"}],"wp:attachment":[{"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=263269"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=263269"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=263269"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=263269"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=263269"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=263269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}