[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fDcOKTBbrHPQmsfK21LS5_iPQ3DVQinaq6_Etf9x4ulo":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":38,"analysis":130,"fingerprints":834},"frontier-query","Frontier Query","1.6.5","finnj","https:\u002F\u002Fprofiles.wordpress.org\u002Ffinnj\u002F","\u003Cp>Frontier Query enables you to query your WordPress site from search form, widget and shortcodes.\u003C\u002Fp>\n\u003Cp>Build shortcodes using the Frontier Query Shortcode builder – It has never been easier to construct a shortcode, and you can see the result while trying diffrent options.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwpfrontier.com\u002Fcategory\u002Fplugins\u002Ffrontier-query\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Main Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Search posts\u003C\u002Fli>\n\u003Cli>Frontier Query Widget \u003C\u002Fli>\n\u003Cli>Frontier Search Widget\u003C\u002Fli>\n\u003Cli>Info box to be used in post and pages with shortcode (see screenshots)\u003C\u002Fli>\n\u003Cli>Display, Filter and Group results (Widget, Shortcode & Search) by:\n\u003Cul>\n\u003Cli>Category\u003C\u002Fli>\n\u003Cli>Tag\u003C\u002Fli>\n\u003Cli>Taxonomy\u003C\u002Fli>\n\u003Cli>Post Type\u003C\u002Fli>\n\u003Cli>Publish date (Year, Month or Day)\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Customize the Infobox with several different layouts.\u003C\u002Fli>\n\u003Cli>Results are cached for performance\u003C\u002Fli>\n\u003Cli>Infobox and Widgets are context aware – Get filter values from archive pages or posts:\n\u003Cul>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Category\u003C\u002Fli>\n\u003Cli>Tag\u003C\u002Fli>\n\u003Cli>Taxonomies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>[fq-search] Short-code for advanced search \u003C\u002Fli>\n\u003Cli>[fq-infobox] Shortcode to place in post and pages to display post break down\u003C\u002Fli>\n\u003Cli>[fq-shortcode-builder] a WYSIWYG wizard where you can build and view your shortcode output   \u003C\u002Fli>\n\u003Cli>[frontier-query] this will display the results from shortcodes and widgets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwpfrontier.com\u002Ffrontier-query-shortcodes\u002F\" rel=\"nofollow ugc\">Shortcode Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Danish\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Let me know what you think, and if you have enhancement requests or problems let me know through support area\u003C\u002Fp>\n\u003Ch4>Frontier plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-post\u002F\" rel=\"ugc\">Frontier Post\u003C\u002Fa>  – Complete frontend management of posts\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-query\u002F\" rel=\"ugc\">Frontier Query\u003C\u002Fa>  – Display lists and groupings of posts in post\u002Fpages and widgets.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-buttons\u002F\" rel=\"ugc\">Frontier Buttons\u003C\u002Fa>  – Full control of tinymce toolbars and buttons buttons\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-set-featured\u002F\" rel=\"ugc\">Frontier Set Featured \u003C\u002Fa>  – Set featured image aut. based on post images \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-restrict-media\u002F\" rel=\"ugc\">Frontier Restrict Media \u003C\u002Fa>  – Restrict media access to users own media\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffrontier-restrict-backend\u002F\" rel=\"ugc\">Frontier Restrict Backend \u003C\u002Fa>  – Restrict access to the backend (wp-admin)\u003C\u002Fli>\n\u003C\u002Ful>\n","Display list and grouping of posts in widgets, posts and pages. Breakdown posts by categories, taxonomies, date, post type etc.",20,4248,100,1,"2023-04-13T10:53:00.000Z","6.2.9","6.1","7.4.33",[20,21,22,23,24],"filter","frontier","query","search","widget","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Ffrontier-query\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffrontier-query.1.6.5.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},5,570,30,84,"2026-04-04T21:10:59.467Z",[39,57,76,94,111],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":13,"downloaded":47,"rating":11,"num_ratings":14,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":55,"download_link":56,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"query-filter","Query Filter","0.0.2","marsjaninzmarsa","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarsjaninzmarsa\u002F","\u003Cp>Plugin for advanced filtering of site content by taxonomies and custom fields. If you have portfolio site and need to give users power of filtering items by topic and year, or photoblog with hundreds of photos categorized by colors, place and photographer, or even shop with bikes various type, vendor and price – this is something for you. You can setup filtering of any Post Type by any tax or meta parameter, text or numeric and display to your visitors fancy and configurable filtering widget.\u003C\u002Fp>\n\u003Cp>Development is happening \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmarsjaninzmarsa\u002FWordPress-J-QueryFilter\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Functions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Support for any Post Type on site and any theme – if you can display it, you can filter it\u003C\u002Fli>\n\u003Cli>Support for any Taxonomy and any Custom Field – if you have post with it, you can filter by it\u003C\u002Fli>\n\u003Cli>Support for multilingual sites (WPML and Polylang, qTranslate may work, but please don’t use it)\u003C\u002Fli>\n\u003Cli>Uses native WordPress templates to display posts\u003C\u002Fli>\n\u003Cli>Toolset, ACF and WooCommerce compatible\u003C\u002Fli>\n\u003Cli>Easy to use for every user\u003C\u002Fli>\n\u003Cli>Fully extendable and customizable for developers (AJAX? No problem. Filtering of users or comments? Even easier)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Todo\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fancy, drag’n’drop filter form configuration\u003C\u002Fli>\n\u003Cli>Full and out of the box support for filtering by text, range (with or without slider) and date\u003C\u002Fli>\n\u003Cli>More build in themes (Pro?)\u003C\u002Fli>\n\u003Cli>AJAX support for every theme (Pro?)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced integration\u003C\u002Fh3>\n\u003Cp>Coming soon…\u003C\u002Fp>\n","Advanced taxonomy and Custom Fields CPT filtering plugin.",1915,"2015-07-25T11:37:00.000Z","4.3.34","3.0.0","",[53,20,22,23,54],"advanced","wp-query","http:\u002F\u002Fniewiarowski.it\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquery-filter.0.0.2.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":13,"num_ratings":14,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":51,"tags":70,"homepage":51,"download_link":75,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"acf-advanced-search","ACF Advanced Search","1.2.1","Victor Demianenko","https:\u002F\u002Fprofiles.wordpress.org\u002Fvictor-demianenko\u002F","\u003Cp>This plugin extends the WordPress search widget and allows to search by content with filters in fields created using Advanced Custom Fields plugin. Free and Pro versions of ACF plugin are supported.\u003C\u002Fp>\n\u003Cp>For displaying ACF fields in a single post can be used short code\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[displayACFfields]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you edit template in PHP editor you can use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php echo do_shortcode('[displayACFfields]'); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Advanced search for the Advanced Custom Fields plugin (Free & Pro).",70,4680,"2017-03-24T13:25:00.000Z","4.7.32","4.3",[71,72,73,74],"advanced-custom-fields","advanced-search","advanced-search-widget","search-filters","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facf-advanced-search.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":11,"downloaded":84,"rating":13,"num_ratings":85,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":51,"tags":89,"homepage":92,"download_link":93,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"widget-search-filter","Widget Search Filter","1.1.1","Mickey Kay","https:\u002F\u002Fprofiles.wordpress.org\u002Fmcguive7\u002F","\u003Cp>Widget Search Filter makes it super easy to find the widget you are looking for by adding a live filter search box to your widgets page. The search box can be used to filter all of your available widgets – simply begin typing the name of the widget you’re looking for, and Widget Search Filter will magically show only matching widgets – all in real time. This can be extremely helpful for sites with lots of widgets, which would normally require excessive scrolling and dragging.\u003C\u002Fp>\n","Widget Search Filter allows you to quickly search & filter your widgets in real time. No more excessive searching, scrolling, and dragging.",2876,2,"2015-12-24T07:25:00.000Z","4.4.34","3.9",[20,23,90,91],"sort","widgets","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwidget-search-filter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-search-filter.1.1.1.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":102,"downloaded":103,"rating":28,"num_ratings":28,"last_updated":104,"tested_up_to":105,"requires_at_least":106,"requires_php":51,"tags":107,"homepage":109,"download_link":110,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"filter-search-page","Filter Search Page","1.0","Alexandru Vornicescu","https:\u002F\u002Fprofiles.wordpress.org\u002Falexvorn2\u002F","\u003Cp>If you want to exclude some post types or terms from the search page then this plugin is for you.\u003C\u002Fp>\n","This plugin will help you to filter the search page results by category and post type.",10,1883,"2014-01-02T22:39:00.000Z","3.7.41","3.0.1",[20,23,108],"wp_query","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffilter-search-page","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffilter-search-page.zip",{"slug":112,"name":113,"version":97,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":28,"downloaded":118,"rating":13,"num_ratings":14,"last_updated":119,"tested_up_to":120,"requires_at_least":121,"requires_php":122,"tags":123,"homepage":128,"download_link":129,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ep-widgets-search","EP Widgets Search","suvronur","https:\u002F\u002Fprofiles.wordpress.org\u002Fsuvronur\u002F","\u003Cp>Many WordPress sites have huge widgets list coming from WordPress, theme, plugins and it take long time to find the widget you are looking for. As a developer I faced this issue almost everyday and my client always ask a solution for this so they can search available widgets. That is where this plugin comes in. Result will be shown when you start typing on the search field.\u003C\u002Fp>\n\u003Cp>See plugin in action.\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fl6imnxWE3I0?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Leave your precious feedback and comment to improve this plugin quality and features.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Ajax search\u003C\u002Fli>\n\u003Cli>Search by letters\u003C\u002Fli>\n\u003Cli>Searching began when type start.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin add a search bar in wordpress dashbaord widgets page. You can search widgets that is available on your WordPress installation.",1069,"2019-07-26T21:56:00.000Z","5.2.24","3.0","5.4",[124,23,125,126,127],"ajax-widgets-search","widgets-filter","widgets-search","widgets-sorting","http:\u002F\u002Fexertplugins.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fep-widgets-search.zip",{"attackSurface":131,"codeSignals":211,"taintFlows":795,"riskAssessment":822,"analyzedAt":833},{"hooks":132,"ajaxHandlers":181,"restRoutes":182,"shortcodes":183,"cronEvents":210,"entryPointCount":209,"unprotectedCount":28},[133,139,143,147,151,155,159,164,168,173,177],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","admin_menu","frontier_query_settings_menu","frontier-query.php",61,{"type":134,"name":140,"callback":141,"file":137,"line":142},"admin_notices","fq_upgrade_notice",146,{"type":20,"name":144,"callback":145,"priority":102,"file":137,"line":146},"query_vars","fq_query_vars",180,{"type":134,"name":148,"callback":149,"file":137,"line":150},"save_post","fq_del_infobox_cache",201,{"type":134,"name":152,"callback":153,"file":137,"line":154},"wp_enqueue_scripts","fq_enqueue_scripts",254,{"type":134,"name":156,"callback":157,"file":137,"line":158},"admin_enqueue_scripts","fq_enqueue_admin_scripts",261,{"type":20,"name":160,"callback":161,"priority":162,"file":137,"line":163},"the_title","frontier_query_hide_title",99,308,{"type":134,"name":165,"callback":166,"file":137,"line":167},"plugins_loaded","frontier_query_translations",320,{"type":134,"name":169,"callback":170,"file":171,"line":172},"widgets_init","anonymous","widgets\\frontier-query-test-auto-widget.php",6,{"type":134,"name":169,"callback":174,"file":175,"line":176},"init_fq_query_widget","widgets\\frontier-query-widget.php",13,{"type":134,"name":169,"callback":178,"file":179,"line":180},"init_fq_search_widget","widgets\\frontier-search-widget.php",12,[],[],[184,188,192,195,198,201,205],{"tag":185,"callback":186,"file":137,"line":187},"fq-shortcode-builder","frontier_query_shortcode_builder",79,{"tag":189,"callback":190,"file":137,"line":191},"fq-infobox","fq_infobox",82,{"tag":193,"callback":194,"file":137,"line":27},"fq-widget","fq_widget",{"tag":4,"callback":196,"file":137,"line":197},"fq_results",97,{"tag":199,"callback":200,"file":137,"line":13},"fq-search","fq_search",{"tag":202,"callback":203,"file":137,"line":204},"fq-debug","fq_debug_info",103,{"tag":206,"callback":207,"file":208,"line":209},"frontier-tax-list","frontier_query_tax_listing","shortcode\\fq-sc-tax-list.php",7,[],{"dangerousFunctions":212,"sqlUsage":216,"outputEscaping":222,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":33,"bundledLibraries":794},[213],{"fn":214,"file":171,"line":172,"context":215},"create_function","add_action('widgets_init', create_function('', 'return register_widget(\"frontier_query_test_auto_wid",{"prepared":172,"raw":14,"locations":217},[218],{"file":219,"line":220,"context":221},"frontier-query-set-defaults.php",22,"$wpdb->get_var() with variable interpolation",{"escaped":223,"rawEcho":224,"locations":225},62,307,[226,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,327,329,331,333,335,337,339,340,341,344,345,346,348,350,352,354,357,359,361,363,365,367,369,370,372,374,376,378,380,381,384,386,387,389,391,393,395,397,398,401,403,406,409,410,412,415,417,419,421,423,425,427,429,431,433,434,436,438,439,441,442,444,445,447,449,451,453,455,457,458,460,461,463,464,465,466,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,572,574,576,578,580,582,584,585,588,590,593,594,596,597,598,599,601,603,605,606,607,608,609,610,612,614,616,618,620,622,623,625,627,629,630,632,633,635,637,638,640,642,644,646,647,648,650,652,654,656,658,660,661,662,664,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,740,741,743,744,745,746,747,748,749,750,752,753,754,756,757,759,760,761,763,765,766,768,769,770,771,772,774,776,778,780,782,784,786,788,790,792],{"file":227,"line":228,"context":229},"admin\\frontier-query-admin-general.php",27,"raw output",{"file":227,"line":231,"context":229},119,{"file":227,"line":233,"context":229},163,{"file":227,"line":235,"context":229},171,{"file":227,"line":237,"context":229},179,{"file":227,"line":239,"context":229},182,{"file":227,"line":241,"context":229},183,{"file":227,"line":243,"context":229},185,{"file":227,"line":245,"context":229},186,{"file":227,"line":247,"context":229},188,{"file":227,"line":249,"context":229},195,{"file":227,"line":251,"context":229},198,{"file":227,"line":253,"context":229},202,{"file":227,"line":255,"context":229},203,{"file":227,"line":257,"context":229},205,{"file":227,"line":259,"context":229},211,{"file":227,"line":261,"context":229},212,{"file":227,"line":263,"context":229},217,{"file":227,"line":265,"context":229},218,{"file":227,"line":267,"context":229},230,{"file":227,"line":269,"context":229},231,{"file":227,"line":271,"context":229},232,{"file":227,"line":273,"context":229},237,{"file":227,"line":275,"context":229},238,{"file":227,"line":277,"context":229},244,{"file":227,"line":279,"context":229},245,{"file":227,"line":281,"context":229},251,{"file":227,"line":283,"context":229},252,{"file":227,"line":285,"context":229},253,{"file":227,"line":287,"context":229},257,{"file":227,"line":289,"context":229},270,{"file":227,"line":291,"context":229},272,{"file":227,"line":293,"context":229},276,{"file":227,"line":295,"context":229},281,{"file":227,"line":297,"context":229},283,{"file":227,"line":299,"context":229},287,{"file":227,"line":301,"context":229},297,{"file":227,"line":303,"context":229},301,{"file":227,"line":305,"context":229},309,{"file":227,"line":307,"context":229},311,{"file":227,"line":309,"context":229},312,{"file":227,"line":311,"context":229},313,{"file":227,"line":313,"context":229},318,{"file":227,"line":315,"context":229},319,{"file":227,"line":317,"context":229},322,{"file":227,"line":319,"context":229},324,{"file":227,"line":321,"context":229},329,{"file":227,"line":323,"context":229},342,{"file":325,"line":326,"context":229},"forms\\fq-list-form-simple.php",15,{"file":325,"line":328,"context":229},23,{"file":325,"line":330,"context":229},24,{"file":325,"line":332,"context":229},25,{"file":325,"line":334,"context":229},26,{"file":325,"line":336,"context":229},37,{"file":325,"line":338,"context":229},40,{"file":325,"line":65,"context":229},{"file":325,"line":191,"context":229},{"file":342,"line":343,"context":229},"forms\\fq-list-form-theme.php",9,{"file":342,"line":180,"context":229},{"file":342,"line":326,"context":229},{"file":342,"line":347,"context":229},18,{"file":342,"line":349,"context":229},44,{"file":342,"line":351,"context":229},89,{"file":342,"line":353,"context":229},98,{"file":355,"line":356,"context":229},"forms\\fq-list-form.php",39,{"file":355,"line":358,"context":229},48,{"file":355,"line":360,"context":229},64,{"file":355,"line":362,"context":229},65,{"file":355,"line":364,"context":229},72,{"file":355,"line":366,"context":229},73,{"file":355,"line":368,"context":229},77,{"file":355,"line":187,"context":229},{"file":355,"line":371,"context":229},86,{"file":355,"line":373,"context":229},88,{"file":355,"line":375,"context":229},93,{"file":355,"line":377,"context":229},127,{"file":355,"line":379,"context":229},162,{"file":355,"line":235,"context":229},{"file":382,"line":383,"context":229},"forms\\fq-search-form.php",17,{"file":382,"line":385,"context":229},19,{"file":382,"line":11,"context":229},{"file":382,"line":388,"context":229},109,{"file":382,"line":390,"context":229},110,{"file":382,"line":392,"context":229},111,{"file":382,"line":394,"context":229},117,{"file":382,"line":396,"context":229},118,{"file":382,"line":231,"context":229},{"file":399,"line":400,"context":229},"include\\frontier-query-group-engine.php",156,{"file":402,"line":293,"context":229},"include\\frontier-query-output-util.php",{"file":404,"line":405,"context":229},"include\\frontier-query-util.php",672,{"file":407,"line":408,"context":229},"shortcode\\fq-sc-debug.php",29,{"file":407,"line":338,"context":229},{"file":407,"line":411,"context":229},46,{"file":413,"line":414,"context":229},"shortcode\\fq-sc-sbuilder.php",157,{"file":413,"line":416,"context":229},175,{"file":413,"line":418,"context":229},176,{"file":413,"line":420,"context":229},177,{"file":413,"line":422,"context":229},184,{"file":413,"line":424,"context":229},199,{"file":413,"line":426,"context":229},215,{"file":413,"line":428,"context":229},216,{"file":413,"line":430,"context":229},228,{"file":413,"line":432,"context":229},229,{"file":413,"line":267,"context":229},{"file":413,"line":435,"context":229},234,{"file":413,"line":437,"context":229},235,{"file":413,"line":279,"context":229},{"file":413,"line":440,"context":229},247,{"file":413,"line":154,"context":229},{"file":413,"line":443,"context":229},255,{"file":413,"line":158,"context":229},{"file":413,"line":446,"context":229},262,{"file":413,"line":448,"context":229},273,{"file":413,"line":450,"context":229},274,{"file":413,"line":452,"context":229},275,{"file":413,"line":454,"context":229},284,{"file":413,"line":456,"context":229},285,{"file":413,"line":301,"context":229},{"file":413,"line":459,"context":229},298,{"file":413,"line":305,"context":229},{"file":413,"line":462,"context":229},310,{"file":413,"line":307,"context":229},{"file":413,"line":315,"context":229},{"file":413,"line":167,"context":229},{"file":413,"line":317,"context":229},{"file":413,"line":468,"context":229},344,{"file":413,"line":470,"context":229},345,{"file":413,"line":472,"context":229},346,{"file":413,"line":474,"context":229},349,{"file":413,"line":476,"context":229},350,{"file":413,"line":478,"context":229},354,{"file":413,"line":480,"context":229},355,{"file":413,"line":482,"context":229},359,{"file":413,"line":484,"context":229},360,{"file":413,"line":486,"context":229},371,{"file":413,"line":488,"context":229},372,{"file":413,"line":490,"context":229},373,{"file":413,"line":492,"context":229},381,{"file":413,"line":494,"context":229},382,{"file":413,"line":496,"context":229},387,{"file":413,"line":498,"context":229},388,{"file":413,"line":500,"context":229},397,{"file":413,"line":502,"context":229},398,{"file":413,"line":504,"context":229},407,{"file":413,"line":506,"context":229},408,{"file":413,"line":508,"context":229},418,{"file":413,"line":510,"context":229},419,{"file":413,"line":512,"context":229},424,{"file":413,"line":514,"context":229},425,{"file":413,"line":516,"context":229},431,{"file":413,"line":518,"context":229},432,{"file":413,"line":520,"context":229},456,{"file":413,"line":522,"context":229},457,{"file":413,"line":524,"context":229},458,{"file":413,"line":526,"context":229},466,{"file":413,"line":528,"context":229},467,{"file":413,"line":530,"context":229},476,{"file":413,"line":532,"context":229},477,{"file":413,"line":534,"context":229},491,{"file":413,"line":536,"context":229},492,{"file":413,"line":538,"context":229},505,{"file":413,"line":540,"context":229},506,{"file":413,"line":542,"context":229},511,{"file":413,"line":544,"context":229},512,{"file":413,"line":546,"context":229},517,{"file":413,"line":548,"context":229},518,{"file":413,"line":550,"context":229},529,{"file":413,"line":552,"context":229},530,{"file":413,"line":554,"context":229},539,{"file":413,"line":556,"context":229},540,{"file":413,"line":558,"context":229},543,{"file":413,"line":560,"context":229},614,{"file":413,"line":562,"context":229},615,{"file":413,"line":564,"context":229},625,{"file":413,"line":566,"context":229},645,{"file":413,"line":568,"context":229},647,{"file":413,"line":570,"context":229},657,{"file":208,"line":336,"context":229},{"file":208,"line":573,"context":229},55,{"file":208,"line":575,"context":229},56,{"file":208,"line":577,"context":229},57,{"file":208,"line":579,"context":229},58,{"file":208,"line":581,"context":229},59,{"file":208,"line":583,"context":229},60,{"file":208,"line":138,"context":229},{"file":586,"line":587,"context":229},"shortcode\\fq-sc-widget.php",71,{"file":586,"line":589,"context":229},78,{"file":591,"line":592,"context":229},"uninstall.php",36,{"file":171,"line":589,"context":229},{"file":171,"line":595,"context":229},81,{"file":171,"line":191,"context":229},{"file":171,"line":36,"context":229},{"file":171,"line":375,"context":229},{"file":171,"line":600,"context":229},94,{"file":171,"line":602,"context":229},95,{"file":171,"line":604,"context":229},96,{"file":171,"line":197,"context":229},{"file":171,"line":353,"context":229},{"file":171,"line":394,"context":229},{"file":171,"line":396,"context":229},{"file":171,"line":231,"context":229},{"file":171,"line":611,"context":229},120,{"file":171,"line":613,"context":229},190,{"file":175,"line":615,"context":229},144,{"file":175,"line":617,"context":229},165,{"file":175,"line":619,"context":229},168,{"file":175,"line":621,"context":229},170,{"file":175,"line":235,"context":229},{"file":175,"line":624,"context":229},187,{"file":175,"line":626,"context":229},221,{"file":175,"line":628,"context":229},224,{"file":175,"line":275,"context":229},{"file":175,"line":631,"context":229},249,{"file":175,"line":319,"context":229},{"file":175,"line":634,"context":229},357,{"file":175,"line":636,"context":229},358,{"file":175,"line":482,"context":229},{"file":175,"line":639,"context":229},362,{"file":175,"line":641,"context":229},363,{"file":175,"line":643,"context":229},367,{"file":175,"line":645,"context":229},368,{"file":175,"line":488,"context":229},{"file":175,"line":490,"context":229},{"file":175,"line":649,"context":229},383,{"file":175,"line":651,"context":229},384,{"file":175,"line":653,"context":229},385,{"file":175,"line":655,"context":229},391,{"file":175,"line":657,"context":229},392,{"file":175,"line":659,"context":229},406,{"file":175,"line":504,"context":229},{"file":175,"line":510,"context":229},{"file":175,"line":663,"context":229},420,{"file":175,"line":514,"context":229},{"file":175,"line":666,"context":229},426,{"file":175,"line":668,"context":229},437,{"file":175,"line":670,"context":229},439,{"file":175,"line":672,"context":229},443,{"file":175,"line":674,"context":229},444,{"file":175,"line":676,"context":229},450,{"file":175,"line":678,"context":229},451,{"file":175,"line":680,"context":229},484,{"file":175,"line":682,"context":229},485,{"file":175,"line":684,"context":229},486,{"file":175,"line":686,"context":229},495,{"file":175,"line":688,"context":229},496,{"file":175,"line":690,"context":229},508,{"file":175,"line":692,"context":229},509,{"file":175,"line":694,"context":229},520,{"file":175,"line":696,"context":229},521,{"file":175,"line":698,"context":229},522,{"file":175,"line":700,"context":229},526,{"file":175,"line":702,"context":229},527,{"file":175,"line":704,"context":229},536,{"file":175,"line":706,"context":229},537,{"file":175,"line":708,"context":229},546,{"file":175,"line":710,"context":229},547,{"file":175,"line":712,"context":229},557,{"file":175,"line":714,"context":229},558,{"file":175,"line":716,"context":229},567,{"file":175,"line":718,"context":229},568,{"file":175,"line":720,"context":229},577,{"file":175,"line":722,"context":229},578,{"file":175,"line":724,"context":229},584,{"file":175,"line":726,"context":229},585,{"file":175,"line":728,"context":229},591,{"file":175,"line":730,"context":229},592,{"file":179,"line":732,"context":229},133,{"file":179,"line":734,"context":229},136,{"file":179,"line":736,"context":229},137,{"file":179,"line":738,"context":229},138,{"file":179,"line":233,"context":229},{"file":179,"line":617,"context":229},{"file":179,"line":742,"context":229},166,{"file":179,"line":243,"context":229},{"file":179,"line":245,"context":229},{"file":179,"line":624,"context":229},{"file":179,"line":150,"context":229},{"file":179,"line":253,"context":229},{"file":179,"line":255,"context":229},{"file":179,"line":437,"context":229},{"file":179,"line":751,"context":229},236,{"file":179,"line":273,"context":229},{"file":179,"line":631,"context":229},{"file":179,"line":755,"context":229},250,{"file":179,"line":283,"context":229},{"file":179,"line":758,"context":229},260,{"file":179,"line":450,"context":229},{"file":179,"line":645,"context":229},{"file":179,"line":762,"context":229},369,{"file":179,"line":764,"context":229},370,{"file":179,"line":490,"context":229},{"file":179,"line":767,"context":229},374,{"file":179,"line":492,"context":229},{"file":179,"line":494,"context":229},{"file":179,"line":649,"context":229},{"file":179,"line":498,"context":229},{"file":179,"line":773,"context":229},389,{"file":179,"line":775,"context":229},395,{"file":179,"line":777,"context":229},396,{"file":179,"line":779,"context":229},402,{"file":179,"line":781,"context":229},403,{"file":179,"line":783,"context":229},428,{"file":179,"line":785,"context":229},429,{"file":179,"line":787,"context":229},430,{"file":179,"line":789,"context":229},438,{"file":179,"line":791,"context":229},445,{"file":179,"line":793,"context":229},452,[],[796,813],{"entryPoint":797,"graph":798,"unsanitizedCount":14,"severity":812},"fq_output_msg (include\\frontier-query-output-util.php:271)",{"nodes":799,"edges":809},[800,804],{"id":801,"type":802,"label":803,"file":402,"line":452},"n0","source","$_REQUEST",{"id":805,"type":806,"label":807,"file":402,"line":293,"wp_function":808},"n1","sink","echo() [XSS]","echo",[810],{"from":801,"to":805,"sanitized":811},false,"medium",{"entryPoint":814,"graph":815,"unsanitizedCount":14,"severity":821},"\u003Cfrontier-query-output-util> (include\\frontier-query-output-util.php:0)",{"nodes":816,"edges":819},[817,818],{"id":801,"type":802,"label":803,"file":402,"line":452},{"id":805,"type":806,"label":807,"file":402,"line":293,"wp_function":808},[820],{"from":801,"to":805,"sanitized":811},"low",{"summary":823,"deductions":824},"The \"frontier-query\" plugin v1.6.5 exhibits a mixed security posture, with several positive aspects but also concerning code practices.  The absence of known CVEs and a clean vulnerability history suggest a generally stable codebase. Furthermore, the plugin demonstrates good security hygiene in its handling of AJAX, REST API, and cron events, with no unprotected entry points identified in these areas.  The majority of SQL queries utilize prepared statements, which is a strong indicator of protection against SQL injection vulnerabilities.  File operations and external HTTP requests are also absent, reducing potential attack vectors.\n\nHowever, the code analysis reveals several areas of concern. The presence of `create_function` is a significant security risk, as it can be exploited for remote code execution if not handled with extreme care and proper sanitization, which the taint analysis results suggest is lacking.  The extremely low percentage of properly escaped output (17%) is a major red flag for Cross-Site Scripting (XSS) vulnerabilities, as user-supplied data is likely being rendered directly into the page without adequate sanitization.  The lack of nonce checks is another critical oversight, as it leaves the plugin susceptible to Cross-Site Request Forgery (CSRF) attacks, especially given the presence of shortcodes which often serve as interaction points.\n\nDespite the lack of known vulnerabilities and generally secure handling of core WordPress entry points, the identified weaknesses in output escaping and the presence of `create_function` create significant potential for exploitation. The plugin's strengths lie in its structured approach to core WordPress integrations, but its internal code quality regarding output sanitization and the use of deprecated\u002Fdangerous functions needs substantial improvement to mitigate the risks of XSS and RCE.",[825,827,829,831],{"reason":826,"points":326},"Use of dangerous function: create_function",{"reason":828,"points":326},"Low percentage of properly escaped output (17%)",{"reason":830,"points":102},"0 Nonce checks",{"reason":832,"points":180},"2 unsanitized taint flows","2026-03-16T23:07:59.898Z",{"wat":835,"direct":844},{"assetPaths":836,"generatorPatterns":839,"scriptPaths":840,"versionParams":841},[837,838],"\u002Fwp-content\u002Fplugins\u002Ffrontier-query\u002Fcss\u002Ffrontier-query.css","\u002Fwp-content\u002Fplugins\u002Ffrontier-query\u002Fjs\u002Ffrontier-query.js",[],[838],[842,843],"frontier-query\u002Fcss\u002Ffrontier-query.css?ver=","frontier-query\u002Fjs\u002Ffrontier-query.js?ver=",{"cssClasses":845,"htmlComments":850,"htmlAttributes":859,"restEndpoints":864,"jsGlobals":865,"shortcodeOutput":867},[846,847,848,849],"frontier-query-results","frontier-query-search-form","fq-widget-title","fq-infobox-content",[851,852,853,854,855,856,857,858],"\u003C!-- Frontier Query Start -->","\u003C!-- Frontier Query End -->","\u003C!-- Frontier Search Form Start -->","\u003C!-- Frontier Search Form End -->","\u003C!-- Frontier Infobox Start -->","\u003C!-- Frontier Infobox End -->","\u003C!-- Frontier Widget Start -->","\u003C!-- Frontier Widget End -->",[860,861,862,863],"data-fq-id","data-fq-search-id","data-fq-infobox-id","data-fq-widget-id",[],[866],"frontier_query_object",[868,869,870,871,872,873],"[fq-shortcode-builder]","[fq-infobox]","[fq-widget]","[frontier-query]","[fq-search]","[fq-debug]"]