[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fTuPoje-WRAldyE1VjFQY8HiUtP-ZT823mUzTArnxcEU":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":22,"download_link":23,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":137,"fingerprints":232},"ajax-read-more","AJAX Read More","2.1.1","Sergey.S.Betke","https:\u002F\u002Fprofiles.wordpress.org\u002Fsergeysbetkenovgaroru\u002F","\u003Cp>When your blog is loaded, all links of this class \u003Cstrong>.more-link\u003C\u002Fstrong> (standard wordpress css class for “Read more…”\u003Cbr \u002F>\nlinks) are modified to no longer send the user to that post’s\u003Cbr \u002F>\nsingle page display when clicked. Instead, the WordPress database is queried for that specific post, and all content\u003Cbr \u002F>\nafter the \u003Cstrong>\u003C!–more–>\u003C\u002Fstrong> tag (i.e. only what you need) is returned.\u003Cbr \u002F>\nThe new content is then immediately displayed to the user with light animation (You can disable animation in plugin options),\u003Cbr \u002F>\ninline with the opening content.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AJAX-read-more uses the jQuery framework already included with WordPress installations.\u003C\u002Fli>\n\u003Cli>This plugin used \u003Cstrong>GET\u003C\u002Fstrong> ajax action (not POST, like other plugins), wordpress \u003Cstrong>“template_redirect”\u003C\u002Fstrong> action.\u003C\u002Fli>\n\u003Cli>It’s compatible with cache plugins (like Hyper Cache Extended).\u003C\u002Fli>\n\u003Cli>AJAX-read-more: design of progress indicator and other behaviors – by CSS (example – in css\u002Fall.css)\u003C\u002Fli>\n\u003Cli>cache-safe script and css url\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Check plugin options on options page.\u003C\u002Fp>\n\u003Cp>Thanks for debugging to den@10-13.ru.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Theme requirements:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Your \u003Cstrong>theme must generate correct DOM structure\u003C\u002Fstrong>:\u003Cbr \u002F>\n(div id=”#content”)\u003Cbr \u002F>\n…\u003Cbr \u002F>\n(div class=”post”)\u003Cbr \u002F>\n    …\u003Cbr \u002F>\n(\u002Fdiv)\u003Cbr \u002F>\n(\u002Fdiv)\u003C\u002Fli>\n\u003Cli>Theme must support \u003Cstrong>footer\u003C\u002Fstrong> (wp_footer). If not, you can change corresponding option on plugin option page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information, please visit the \u003Ca href=\"http:\u002F\u002Fsergey-s-betke.blogs.novgaro.ru\u002Fcategory\u002Fweb\u002Fwordpress\u002Fread-more\" rel=\"nofollow ugc\">Sergey S. Betke blog\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>ToDo\u003C\u002Fh3>\n\u003Cp>The next version or later:\u003Cbr \u002F>\n* wordpress core integration for cache headers processing???\u003Cbr \u002F>\n* optional http cache-control \u003Cstrong>max-age\u003C\u002Fstrong> header value and \u003Cstrong>must-revalidate\u003C\u002Fstrong>\u003Cbr \u002F>\n* just private cache headers, when post has limited access\u003Cbr \u002F>\n* check cache plugins support (Hyper Cache Extended): clear cached responces when post modified\u003Cbr \u002F>\n* cache-control and Last-Modification headers – to separate plugins\u003Cbr \u002F>\n* \u003Cstrong>if-modified\u003C\u002Fstrong> http request support (separate plugins)\u003Cbr \u002F>\n* \u003Cstrong>the_excerpt\u003C\u002Fstrong> optional support\u003Cbr \u002F>\n* AJAX-read-more send correct http cache-control headers, and fully support client-side public cache.\u003Cbr \u002F>\n* WP 3.3: http:\u002F\u002Fwpdevel.wordpress.com\u002Ftag\u002F3-3-dev-notes\u002F\u003Cbr \u002F>\n* WP 3.3: replace wp_localize_script() with wp_add_script_before().  wp_localize_script doesn’t support non-string params in WP 3.3+\u003Cbr \u002F>\n* WP 3.3: wp_enqueue_script() now works mid-page – insert scripts just into pages when it’t needed\u003C\u002Fp>\n","Automatically transform your \u003C!--more--> links into links that immediately display the rest of your entry (AJAX).",60,24752,100,2,"2011-12-07T16:35:00.000Z","3.3.2","3.0.0","",[20,21],"ajax","jquery","http:\u002F\u002Fsergey-s-betke.blogs.novgaro.ru\u002Fcategory\u002Fweb\u002Fwordpress\u002Fread-more\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fajax-read-more.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":24,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"sergeysbetkenovgaroru",3,80,30,84,"2026-04-05T02:32:29.050Z",[37,60,81,100,120],{"slug":38,"name":39,"version":17,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":56,"download_link":57,"security_score":13,"vuln_count":58,"unpatched_count":25,"last_vuln_date":59,"fetched_at":27},"ajax-archive-calendar","Ajax Archive Calendar","osman sorkar","https:\u002F\u002Fprofiles.wordpress.org\u002Fosmansorkar\u002F","\u003Cp>The Ajax Archive Calendar plugin goes beyond a standard calendar, offering a powerful archive solution for your WordPress site. It’s built upon and customizes the default WordPress calendar, providing a familiar yet enhanced experience. We’re confident you’ll appreciate its features, available in both Bengali and English.\u003C\u002Fp>\n\u003Cp>Now it is support WPML.\u003C\u002Fp>\n\u003Cp>f you need any modifications or encounter any problems, please report them on our GitHub repository.\u003C\u002Fp>\n\u003Cp>https:\u002F\u002Fgithub.com\u002Fosmansorkar\u002Fajax-archive-calendar\u003C\u002Fp>\n","Ajax Archive Calendar .",1000,19675,90,4,"2025-07-28T09:12:00.000Z","6.8.5","3.0",[20,52,53,54,55],"ajax-archive","ajax-calendar","calendar","jquery-calendar","http:\u002F\u002Ffb.me\u002Fosmansorkar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fajax-archive-calendar.zip",1,"2023-10-16 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":79,"download_link":80,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"nav-menu-item-duplicate","Nav Menu Item Duplicator","1.0.1","Sohan Zaman","https:\u002F\u002Fprofiles.wordpress.org\u002Fsohan5005\u002F","\u003Cp>This Plugin will save your time by adding a duplicate button on each menu item while editing a menu. A real time saver. Currently it doesn\\’t support customize screen, but I\\’ll add it soon. If you find any bugs, just head over to support forum, I\\’ll fix that asap.\u003C\u002Fp>\n\u003Cp>Please rate me a 5 star if you find this plugin helpful 🙂\u003C\u002Fp>\n","A simple plugin that adds a duplicate button to each items on edit menu screen.",600,7918,74,7,"2018-05-18T19:39:00.000Z","4.9.29","2.0.0",[76,20,21,77,78],"admin","menu","post","http:\u002F\u002Fthemestones.net\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnav-menu-item-duplicate.1.0.1.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":91,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":18,"tags":96,"homepage":98,"download_link":99,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"wp-search-suggest","WP Search Suggest","8","Konstantin Obenland","https:\u002F\u002Fprofiles.wordpress.org\u002Fobenland\u002F","\u003Cp>This plugin lets you provide the user with search suggestions based on the information entered in the search field.\u003C\u002Fp>\n\u003Cp>It adds an AJAX call to the search form, returning matches for the current search query from the database.\u003Cbr \u002F>\nThere is no change of template files necessary as this plugin hooks in the existing WordPress API to unfold its magic.\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>I will be more than happy to update the plugin with new locales, as soon as I receive them!\u003Cbr \u002F>\nCurrently available in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Deutsch\u003C\u002Fli>\n\u003Cli>Czech\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Filter Reference\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>wpss_search_query_args\u003C\u002Fstrong> (\u003Cem>array|string\u003C\u002Fem>)\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>The query args, passed to \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002FWP_Query\" title=\"WP_Query in the WordPress Codex\" rel=\"nofollow ugc\">WP_Query\u003C\u002Fa>, either as an array or a string.\u003Cbr \u002F>\n  An array with the default query args and the current search query are passed to the filter.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>wpss_search_results\u003C\u002Fstrong> (\u003Cem>array\u003C\u002Fem>)\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>An array with the result strings as values. An array with the default results and the WP_Query object are passed to the filter.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Provides title suggestions while typing a search query, using the built-in jQuery suggest script.",500,32989,92,11,"2023-11-12T22:31:00.000Z","6.4.8","3.3",[20,21,97],"search","http:\u002F\u002Fen.obenland.it\u002Fwp-search-suggest\u002F#utm_source=wordpress&utm_medium=plugin&utm_campaign=wp-search-suggest","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-search-suggest.8.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":46,"num_ratings":92,"last_updated":110,"tested_up_to":111,"requires_at_least":103,"requires_php":18,"tags":112,"homepage":118,"download_link":119,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"infinite-scroll-and-load-more-ajax-pagination","Infinite Scroll and Load More Ajax Pagination","1.0","pixellanguage","https:\u002F\u002Fprofiles.wordpress.org\u002Fpixellanguage\u002F","\u003Cp>Go to Pix Plugin >> Infinite Load – Please check plugin url to control the setting.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Ajax Infinite Scroll.\u003C\u002Fli>\n\u003Cli>Ajax Load More Pagination.\u003C\u002Fli>\n\u003Cli>Dynamically call jQuery Library.\u003C\u002Fli>\n\u003Cli>Custom Loader.\u003C\u002Fli>\n\u003Cli>Message Control.\u003C\u002Fli>\n\u003Cli>Very Lightweight and many More.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Live Preview: http:\u002F\u002Fpixellanguage.com\u002Fwordpress-infinite-and-load-more-pagination-plugin\u002F\u003C\u002Fp>\n","No more page refresh for next page click. User can stay on same page to see all result with Infinite Scroll and Load More.",200,12415,"2015-12-16T06:43:00.000Z","4.4.34",[113,114,115,116,117],"ajax-infinite-pagination","ajax-load-more-pagination","infinite-scroll","jquery-pagination","load-more","http:\u002F\u002Fpixellanguage.com\u002Fwordpress-infinite-and-load-more-pagination-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finfinite-scroll-and-load-more-ajax-pagination.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":13,"downloaded":128,"rating":13,"num_ratings":31,"last_updated":129,"tested_up_to":16,"requires_at_least":130,"requires_php":18,"tags":131,"homepage":135,"download_link":136,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"ad-manager-for-wp","Ad Manager","0.9.4","digitalnature","https:\u002F\u002Fprofiles.wordpress.org\u002Fdigitalnature\u002F","\u003Cp>Light, and at the same time advanced advertisment manager. Provides you the ability to select context conditions for displaying ads, like page location \u002F location index \u002F page or user class.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note that although the current release is stable, there are features that are not yet implemented, and existing functionality that is very likely to change.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Thanks\u003C\u002Fh3>\n\u003Cp>Thanks goes to \u003Ca href=\"http:\u002F\u002Fdigitalnature.eu\u002Fthemes\u002Fmystique\u002F\" rel=\"nofollow ugc\">Mystique\u003C\u002Fa> theme users, which encouraged me to improve\u003Cbr \u002F>\nthe original “Ads” module for that theme, and develop this plugin.\u003C\u002Fp>\n","Manage ads on your website trough the WP dashboard.",28297,"2012-05-15T13:05:00.000Z","3.2",[132,133,134,20,21],"ad-manager","adsense","advertisment","http:\u002F\u002Fdigitalnature.eu\u002Fforum\u002Fplugins\u002Fad-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fad-manager-for-wp.zip",{"attackSurface":138,"codeSignals":186,"taintFlows":224,"riskAssessment":225,"analyzedAt":231},{"hooks":139,"ajaxHandlers":182,"restRoutes":183,"shortcodes":184,"cronEvents":185,"entryPointCount":25,"unprotectedCount":25},[140,146,149,153,157,160,164,169,172,175,179],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","init","ajax_read_more_init2","admin\\admin.php",22,{"type":141,"name":147,"callback":148,"file":144,"line":33},"admin_init","ajax_read_more_admin_init",{"type":141,"name":150,"callback":151,"file":144,"line":152},"admin_menu","ajax_read_more_admin_menu",31,{"type":141,"name":142,"callback":154,"file":155,"line":156},"options_script_position_init","admin\\options-script-position\\options-script-position.php",27,{"type":141,"name":147,"callback":158,"file":155,"line":159},"options_script_position_admin_init",33,{"type":141,"name":142,"callback":161,"file":162,"line":163},"ajax_read_more_init","ajax-read-more-core.php",13,{"type":165,"name":166,"callback":167,"priority":92,"file":162,"line":168},"filter","the_content","ajax_read_more_the_content",25,{"type":141,"name":170,"callback":171,"file":162,"line":156},"template_redirect","ajax_read_more_template_redirect",{"type":141,"name":173,"callback":174,"file":162,"line":152},"wp_enqueue_scripts","ajax_read_more_wp_enqueue_scripts",{"type":141,"name":176,"callback":177,"file":178,"line":14},"wp_print_styles","ajax_read_more_wp_print_styles","css\\styles.php",{"type":141,"name":173,"callback":180,"file":181,"line":14},"jquery_ajax_read_more_wp_enqueue_scripts","jquery\\ajax\\readmore\\jquery.ajax.readmore.php",[],[],[],[],{"dangerousFunctions":187,"sqlUsage":188,"outputEscaping":190,"fileOperations":25,"externalRequests":25,"nonceChecks":25,"capabilityChecks":25,"bundledLibraries":223},[],{"prepared":25,"raw":25,"locations":189},[],{"escaped":25,"rawEcho":191,"locations":192},15,[193,196,198,200,202,204,206,208,210,212,214,216,218,220,221],{"file":144,"line":194,"context":195},148,"raw output",{"file":144,"line":197,"context":195},159,{"file":144,"line":199,"context":195},174,{"file":144,"line":201,"context":195},191,{"file":144,"line":203,"context":195},238,{"file":144,"line":205,"context":195},255,{"file":144,"line":207,"context":195},268,{"file":144,"line":209,"context":195},285,{"file":144,"line":211,"context":195},332,{"file":144,"line":213,"context":195},392,{"file":144,"line":215,"context":195},456,{"file":144,"line":217,"context":195},517,{"file":144,"line":219,"context":195},520,{"file":155,"line":91,"context":195},{"file":155,"line":222,"context":195},103,[],[],{"summary":226,"deductions":227},"The static analysis of the ajax-read-more plugin v2.1.1 reveals a generally positive security posture, with no apparent entry points like AJAX handlers, REST API routes, shortcodes, or cron events that are exposed without authentication checks. The code also demonstrates good practices by utilizing prepared statements for all its SQL queries and not performing any file operations or external HTTP requests. Furthermore, the absence of any recorded vulnerabilities (CVEs) in its history suggests a track record of security maintenance. However, a significant concern arises from the complete lack of output escaping for all 15 identified output points. This means that any data processed and displayed by the plugin could potentially be vulnerable to cross-site scripting (XSS) attacks, as user-supplied data is not being properly sanitized before rendering.",[228],{"reason":229,"points":230},"All output points lack proper escaping",20,"2026-03-16T21:43:09.061Z",{"wat":233,"direct":245},{"assetPaths":234,"generatorPatterns":240,"scriptPaths":241,"versionParams":242},[235,236,237,238,239],"\u002Fwp-content\u002Fplugins\u002Fajax-read-more\u002Fajax-read-more.js","\u002Fwp-content\u002Fplugins\u002Fajax-read-more\u002Fscreen.css","\u002Fwp-content\u002Fplugins\u002Fajax-read-more\u002Fhandheld.css","\u002Fwp-content\u002Fplugins\u002Fajax-read-more\u002Fprint.css","\u002Fwp-content\u002Fplugins\u002Fajax-read-more\u002Fjquery\u002Fajax\u002Freadmore\u002Fjquery.ajax.readmore.js",[],[235,239],[243,244],"ajax-read-more.js?ver=","jquery.ajax.readmore.js?ver=",{"cssClasses":246,"htmlComments":248,"htmlAttributes":249,"restEndpoints":250,"jsGlobals":251,"shortcodeOutput":253},[247],"more-link",[],[],[],[252],"AJAXReadMoreConfig",[254,255,256,257,258],"\u003Cdiv id=\"post-entry-excerpt-","\" class=\"entry-part\">","\u003C\u002Fdiv>","\u003Cdiv id=\"post-footer-","\" class=\"post-footer clear\">"]