[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3909vpXzFThYToMJube3KhZn8FT6VQcQUAlsZeh2WOI":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":17,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":37,"analysis":142,"fingerprints":472},"song-book","Song Book","1.3","Justin Fletcher","https:\u002F\u002Fprofiles.wordpress.org\u002Fjustinticktock\u002F","\u003Cp>Put worship into the hands of your church members.\u003C\u002Fp>\n\u003Cp>Allow church groups to create and share worship song books on any device (tablets, mobile phones..) and keep the worship up to date as new songs get used in church life.\u003C\u002Fp>\n\u003Cp>It also helps follow the legal requirement of showing the copyright information and church CCLI License along with the song words.\u003C\u002Fp>\n\u003Cp>Note: Under the CCLI license in the UK the law stands that only paper copies or emails for the use of church members is allowed.  To close this gap, until the law changes, you can request from the CCLI administration the use of a private website for the use of electronic devices with a private members only website.\u003Cbr \u002F>\nTherefore, the site should made private and for members only unless the songs are all in the public domain (e.g. our example Christmas Carol songbook )\u003C\u002Fp>\n\u003Cp>‘song book’ uses the excellent \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fposts-to-posts\u002F\" rel=\"ugc\">post-2-post\u003C\u002Fa> plugin by scribu, to create the association between songs and books..\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjustinandco.com\u002Fdemo\u002Fsongbook\u002F\" rel=\"nofollow ugc\">demo site\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Plugin site\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjustinandco.com\u002Fplugins\u002Fsong-book\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fjustinandco.com\u002Fplugins\u002Fsong-book\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>GitHub – Development\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjustinticktock\u002Fsong-book\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fjustinticktock\u002Fsong-book\u003C\u002Fa>\u003C\u002Fp>\n","Add worship songbooks to your site",20,2085,0,"2024-09-24T19:55:00.000Z","6.6.5","4.7","",[19,20,21,22,23],"christian","churches","singing","songbook","worship","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsong-book.1.3.zip",92,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"justinticktock",5,290,94,30,90,"2026-04-04T21:18:01.512Z",[38,64,85,105,124],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":61,"vuln_count":62,"unpatched_count":13,"last_vuln_date":63,"fetched_at":27},"church-theme-content","Church Content – Sermons, Events and More","2.7","Steven Gliebe","https:\u002F\u002Fprofiles.wordpress.org\u002Fstevengliebe\u002F","\u003Cp>The Church Content WordPress plugin provides an interface for managing sermons, events, people and locations. Please be aware that a \u003Cstrong>compatible theme is required\u003C\u002Fstrong> for presenting content from these church-centric post types in a tightly-integrated manner.\u003C\u002Fp>\n\u003Ch4>Who this is for\u003C\u002Fh4>\n\u003Cp>This plugin is intended for a very specific audience. If you are \u003Cem>not\u003C\u002Fem> one of the following then this plugin will not be useful to you.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Users of \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\" rel=\"nofollow ugc\">official themes\u003C\u002Fa> from ChurchThemes.com\u003C\u002Fli>\n\u003Cli>Users of \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fthird-party-themes\" rel=\"nofollow ugc\">third-party themes\u003C\u002Fa> made \u003Cem>specifically\u003C\u002Fem> for this plugin\u003C\u002Fli>\n\u003Cli>Theme developers improving data portability for church sites\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What it does\u003C\u002Fh4>\n\u003Cp>It provides post types, taxonomies and fields for \u003Cem>sermons\u003C\u002Fem>, \u003Cem>events\u003C\u002Fem>, \u003Cem>people\u003C\u002Fem> and \u003Cem>locations\u003C\u002Fem> to be shown by a compatible church WordPress theme.\u003C\u002Fp>\n\u003Cp>Experienced WordPress developers agree that functionality like this does not belong in themes since themes are intended only for controlling the appearance of a WordPress site. Content that users might expect to take with them if they switch themes should “live” in a plugin in order to \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fwordpress-theme-users-avoid-lock-in-effect\u002F\" rel=\"nofollow ugc\">avoid theme lock-in\u003C\u002Fa>. Similarly, our approach is not to present content using the plugin since themes offer more control for that purpose. This is why a \u003Cstrong>compatible theme is required\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fplugins\u002Fchurch-content\u002F\" rel=\"nofollow ugc\">Plugin Details\u003C\u002Fa> on ChurchThemes.com for a tour of features. Read the \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fguides\u002Fuser\u002Fplugins\u002Fchurch-content\u002F\" rel=\"nofollow ugc\">User Guide\u003C\u002Fa> for instructions.\u003C\u002Fp>\n\u003Ch4>Compatible Themes\u003C\u002Fh4>\n\u003Cp>A compatible theme is required for presenting sermons, events, etc. added with the plugin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Official themes provided by \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\" rel=\"nofollow ugc\">ChurchThemes.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Third-party themes at \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fthird-party-themes\" rel=\"nofollow ugc\">churchthemes.com\u002Fthird-party-themes\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Church Content Pro\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fplugins\u002Fchurch-content-pro\u002F\" rel=\"nofollow ugc\">Church Content Pro\u003C\u002Fa> is an add-on that provides additional features.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sermon Podcasting (iTunes, Google Play, etc.)\u003C\u002Fli>\n\u003Cli>Recurring Events (e.g. “every Monday and Thursday”)\u003C\u002Fli>\n\u003Cli>Event Date Exclusions (holidays, weather closings, etc.)\u003C\u002Fli>\n\u003Cli>Enhanced SEO (schema.org Structure Data using JSON-LD)\u003C\u002Fli>\n\u003Cli>Location Memory (autofill and select previous event locations)\u003C\u002Fli>\n\u003Cli>Wording Settings (e.g. rename “Sermons” to “Messages”)\u003C\u002Fli>\n\u003Cli>Agency Mode (simplify license management for clients)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developers\u003C\u002Fh4>\n\u003Cp>Please see the \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fguides\u002Fdeveloper\u002Fchurch-content\u002F\" rel=\"nofollow ugc\">Developer Guide\u003C\u002Fa> on ChurchThemes.com for notes on developing themes that use this plugin. A couple benefits are that you will save time and be helping to accomplish better data portability among church websites powered by WordPress.\u003C\u002Fp>\n\u003Cp>You can follow development on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fchurchthemes\u002Fchurch-theme-content\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Several translations are available, including English, Spanish, German, French, Portuguese, Swedish, Dutch, Norwegian, Serbian and Slovak. See the \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fguides\u002Fuser\u002Fplugins\u002Fchurch-content\u002F#translations\" rel=\"nofollow ugc\">Translations\u003C\u002Fa> section in the plugin’s user guide for a more complete list. Also see \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fchurch-theme-content\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Follow us\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Visit \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\" rel=\"nofollow ugc\">ChurchThemes.com\u003C\u002Fa> for compatible themes, add-ons and help\u003C\u002Fli>\n\u003Cli>We’re on \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fchurchthemes\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fchurchthemescom\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa> and have a \u003Ca href=\"https:\u002F\u002Fchurchthemes.com\u002Fnewsletter\" rel=\"nofollow ugc\">Newsletter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Lead developer: \u003Ca href=\"http:\u002F\u002Fstevengliebe.com\" rel=\"nofollow ugc\">stevengliebe.com\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> This plugin was previously named “Church Theme Content”.\u003C\u002Fp>\n","Provides an interface for managing sermons, events, people and locations. A compatible theme is required for presenting content from these church-cent &hellip;",4000,160739,98,49,"2025-12-01T16:14:00.000Z","6.9.4","3.6","7.4",[55,20,56,57,58],"church","ministry","sermon","sermons","https:\u002F\u002Fchurchthemes.com\u002Fplugins\u002Fchurch-content\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchurch-theme-content.2.7.zip",99,1,"2024-04-11 00:00:00",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":78,"requires_php":17,"tags":79,"homepage":17,"download_link":84,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"visual-verse-of-the-day-widget","Visual Bible Verse of the Day Widget","1.10","karl.kranich","https:\u002F\u002Fprofiles.wordpress.org\u002Fkarlkranich-1\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fvisualverse.thecreationspeaks.com\u002F\" rel=\"nofollow ugc\">The Visual Bible Verse of the Day\u003C\u002Fa> inspires people through God’s Word and His creation. Each day a new thumbnail photograph combined with a Scripture reference appear in a widget area on a site using the plugin. You control the size and widget area the verse and scripture reference appear. When someone clicks on the thumbnail they get the full image and verse.\u003C\u002Fp>\n\u003Cp>The images come from the outstanding wildlife and landscape photography collection of award-winning outdoor photographer Pasquale R Mingarelli. The Visual Verse of the Day makes a great addition to any Christian website or any site that wants to daily inspire its site visitors.\u003C\u002Fp>\n\u003Cp>Pasquale is also a Christian speaker. He speaks on how nature touches us through its majesty, mystery and beauty.\u003Cbr \u002F>\nHis presentations help us to see how nature reveals the glory of God and His attributes. You can view his website here:\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.thecreationspeaks.com\" rel=\"nofollow ugc\">www.thecreationspeaks.com\u003C\u002Fa>.\u003C\u002Fp>\n","Six days a week a new photo and scripture reference will appear from The Visual Bible Verse of the Day at visualverse.thecreationspeaks.com.",1000,13117,80,3,"2024-11-19T13:04:00.000Z","6.7.5","3.0.1",[80,19,81,82,83],"bible","nature","photography","widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvisual-verse-of-the-day-widget.zip",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":74,"downloaded":13,"rating":93,"num_ratings":62,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":17,"tags":97,"homepage":103,"download_link":104,"security_score":93,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"display-sermonnet","sermon.net display","1.4.4","Michael","https:\u002F\u002Fprofiles.wordpress.org\u002Fmgyura\u002F","\u003Cp>A plugin that brings in your sermon.net data (sermon audio, sermon video, pdf, and live stream) for display on your WordPress website via shortcodes or widgets. It can be sorted by playlists or series via the widget or shortcode options. This plugin is built and supported by Worship Times and is not an official product of sermon.net, however it was built in collaboration with the developers at sermon.net.\u003C\u002Fp>\n\u003Cdiv class=\"embed-vimeo\" style=\"text-align: center;\">\u003Ciframe loading=\"lazy\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F192521421\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>\u003C\u002Fiframe>\u003C\u002Fdiv>\n","A plugin that brings in your sermon.net data (sermon audio, sermon video, pdf, and live stream) for display on your WordPress website.",100,"2025-04-28T11:59:00.000Z","6.8.5","5.5",[98,99,100,101,102],"live-stream","live-stream-worship","live-streaming","sermon-feed","sermon-shortcode","http:\u002F\u002Fworshiptimes.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisplay-sermonnet.zip",{"slug":106,"name":107,"version":108,"author":107,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":93,"num_ratings":114,"last_updated":115,"tested_up_to":15,"requires_at_least":116,"requires_php":117,"tags":118,"homepage":122,"download_link":123,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"bibleup","BibleUp","1.1.0","https:\u002F\u002Fprofiles.wordpress.org\u002Fbibleup\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fbibleup.netlify.app\u002F\" rel=\"nofollow ugc\">\u003Cstrong>BibleUp\u003C\u002Fstrong>\u003C\u002Fa> is a configurable web tool that makes the text of Bible references on a webpage easily accessible when hovered or clicked.\u003Cbr \u002F>\nBibleUp transforms all Bible Reference on a page into hyperlinks, hovering or clicking on these links will display the corresponding Bible text via a feature-rich and highly customizable popover.\u003C\u002Fp>\n\u003Cp>With \u003Cstrong>BibleUp\u003C\u002Fstrong>, Bible references can be looked up easily without having to switch to a different tab or app.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong>\u003Cbr \u002F>\n  This is the official WordPress plugin for BibleUp and it relies on the development of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbibleup\u002Fbibleup\" rel=\"nofollow ugc\">BibleUp Core\u003C\u002Fa>.\u003Cbr \u002F>\n  We use a third-party service to provide for the regulated distribution of essential \u003Ca href=\"https:\u002F\u002Fwww.jsdelivr.com\u002Fpackage\u002Fnpm\u002F@bibleup\u002Fbibleup\" rel=\"nofollow ugc\">files\u003C\u002Fa>. The use of this plugin requires your consent to the \u003Ca href=\"https:\u002F\u002Fwww.jsdelivr.com\u002Fterms\" rel=\"nofollow ugc\">Terms & Policies – jsDelivr\u003C\u002Fa>. No personal data is collected.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Features 💡\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Smart tagging:\u003C\u002Fstrong> BibleUp can recognize and tag references in multiple, different ways. Abbreviated or standard names, as well as multiple verse ranges, will be tagged correctly. BibleUp also supports version tagging.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible and highly customizable:\u003C\u002Fstrong> BibleUp comes with different popover types and can be thoroughly customized to fit your site\\’s theme.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Performant:\u003C\u002Fstrong> Make your readers enjoy fast Bible references look-up without bloating your site. BibleUp also follows the WAI-ARAI accessibility guidelines for screen readers and keyboard navigation.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Agile development and contributions:\u003C\u002Fstrong> BibleUp is free and open-sourced, contributions can be made by anyone. Issues and requests will be attended to faster.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Demo 🛸\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>See how BibleUp works on our \u003Ca href=\"https:\u002F\u002Fbibleup.netlify.app\u002Fdemo\" rel=\"nofollow ugc\">demo page\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Check out \u003Ca href=\"https:\u002F\u002Fbibleup.netlify.app\u002Fdemo\u002Feditor\" rel=\"nofollow ugc\">the editor\u003C\u002Fa> to play with customization and styling.\u003C\u002Fli>\n\u003Cli>For developers: Configure BibleUp options live using the \u003Ca href=\"https:\u002F\u002Fstackblitz.com\u002Fedit\u002Fbibleup\" rel=\"nofollow ugc\">code playground\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","BibleUp transforms Bible references on a webpage into links and makes the text accessible via a flexible and highly-customizable popover.",70,2113,2,"2024-10-24T17:11:00.000Z","5.6","7.0",[80,19,119,120,121],"references","reftagging","scripture","https:\u002F\u002Fbibleup.netlify.app","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbibleup.1.1.0.zip",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":74,"num_ratings":62,"last_updated":134,"tested_up_to":135,"requires_at_least":136,"requires_php":17,"tags":137,"homepage":139,"download_link":140,"security_score":141,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"wp-bible-embed","WP-Bible Embed","2.2","aidantcasey","https:\u002F\u002Fprofiles.wordpress.org\u002Faidantcasey\u002F","\u003Cp>There are many WordPress Bible plugins, but most of them only link to a webpage with the verse you referenced. WP-Bible Embed is the only plugin that actually embeds the King James Version Bible into your webpage. It doesn’t even decrease the pages loading time!\u003C\u002Fp>\n","There are many wordpress Bible plugins, but none of them embed the whole entire Bible... Except this one.",60,4829,"2015-10-14T21:54:00.000Z","4.1.42","1.5",[80,19,138],"embed","http:\u002F\u002Faidan.caseyhouse.net\u002Fweb\u002Fwp-bible-embed\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-bible-embed.2.2.zip",85,{"attackSurface":143,"codeSignals":356,"taintFlows":465,"riskAssessment":466,"analyzedAt":471},{"hooks":144,"ajaxHandlers":352,"restRoutes":353,"shortcodes":354,"cronEvents":355,"entryPointCount":13,"unprotectedCount":13},[145,151,154,158,163,169,172,177,180,184,186,189,193,197,201,205,209,211,213,217,221,224,228,230,234,238,242,245,248,251,254,257,261,264,268,270,273,277,281,283,288,293,298,302,305,308,310,311,315,318,321,323,326,329,330,333,334,337,340,344,349],{"type":146,"name":147,"callback":148,"file":149,"line":150},"filter","page_attributes_dropdown_pages_args","register_project_templates","includes\\class-page-templater.php",41,{"type":146,"name":152,"callback":148,"file":149,"line":153},"wp_insert_post_data",48,{"type":146,"name":155,"callback":156,"file":149,"line":157},"template_include","view_project_template",56,{"type":159,"name":160,"callback":161,"file":149,"line":162},"action","plugins_loaded","get_instance",153,{"type":146,"name":164,"callback":165,"priority":166,"file":167,"line":168},"map_meta_cap","song_map_meta_cap",10,"includes\\class-song-capabilities.php",22,{"type":146,"name":164,"callback":170,"priority":166,"file":171,"line":168},"song_book_map_meta_cap","includes\\class-songbook-capabilities.php",{"type":146,"name":173,"callback":174,"file":175,"line":176},"init","prefix_songbook_rewrite_rule","includes\\class-songbook-fullcontent.php",17,{"type":146,"name":178,"callback":179,"file":175,"line":168},"query_vars","prefix_register_query_var",{"type":146,"name":181,"callback":182,"file":175,"line":183},"template_redirect","prefix_url_rewrite_templates",27,{"type":146,"name":155,"callback":185,"file":175,"line":153},"closure",{"type":159,"name":187,"callback":161,"priority":11,"file":175,"line":188},"after_setup_theme",81,{"type":159,"name":173,"callback":173,"priority":190,"file":191,"line":192},9,"includes\\class-tabbed-settings.php",73,{"type":159,"name":194,"callback":195,"file":191,"line":196},"admin_init","render_setting_page",75,{"type":159,"name":198,"callback":199,"file":191,"line":200},"admin_menu","add_admin_menus",77,{"type":159,"name":173,"callback":202,"priority":31,"file":203,"line":204},"load_textdomain","includes\\class-tgm-plugin-activation.php",273,{"type":146,"name":206,"callback":207,"priority":166,"file":203,"line":208},"load_textdomain_mofile","overload_textdomain_mofile",274,{"type":159,"name":173,"callback":173,"file":203,"line":210},277,{"type":159,"name":198,"callback":198,"file":203,"line":212},426,{"type":159,"name":214,"callback":215,"file":203,"line":216},"admin_head","dismiss",427,{"type":146,"name":218,"callback":219,"file":203,"line":220},"install_plugin_complete_actions","actions",430,{"type":146,"name":222,"callback":219,"file":203,"line":223},"update_plugin_complete_actions",431,{"type":159,"name":225,"callback":226,"file":203,"line":227},"admin_notices","notices",434,{"type":159,"name":194,"callback":194,"priority":62,"file":203,"line":229},435,{"type":159,"name":231,"callback":232,"file":203,"line":233},"admin_enqueue_scripts","thickbox",436,{"type":159,"name":235,"callback":236,"priority":62,"file":203,"line":237},"load-plugins.php","add_plugin_action_link_filters",441,{"type":159,"name":239,"callback":240,"file":203,"line":241},"switch_theme","flush_plugins_cache",444,{"type":159,"name":239,"callback":243,"file":203,"line":244},"update_dismiss",447,{"type":159,"name":194,"callback":246,"file":203,"line":247},"force_activation",452,{"type":159,"name":239,"callback":249,"file":203,"line":250},"force_deactivation",457,{"type":159,"name":214,"callback":252,"file":203,"line":253},"admin_css",461,{"type":159,"name":206,"callback":255,"priority":166,"file":203,"line":256},"correct_plugin_mofile",483,{"type":146,"name":258,"callback":259,"priority":62,"file":203,"line":260},"upgrader_source_selection","maybe_adjust_source_dir",896,{"type":159,"name":160,"callback":262,"file":203,"line":263},"load_tgm_plugin_activation",2161,{"type":146,"name":265,"callback":266,"file":203,"line":267},"tgmpa_table_data_items","sort_table_items",2285,{"type":146,"name":258,"callback":259,"priority":62,"file":203,"line":269},3029,{"type":159,"name":194,"callback":271,"file":203,"line":272},"tgmpa_load_bulk_installer",3199,{"type":159,"name":274,"callback":275,"file":203,"line":276},"upgrader_process_complete","populate_file_path",3294,{"type":146,"name":278,"callback":279,"priority":166,"file":203,"line":280},"upgrader_post_install","auto_activate",3353,{"type":146,"name":278,"callback":279,"priority":166,"file":203,"line":282},3498,{"type":159,"name":284,"callback":285,"file":286,"line":287},"tgmpa_register","songbook_tgmpa_register","includes\\plugin-install.php",15,{"type":159,"name":289,"callback":290,"file":291,"line":292},"pre_get_posts","song_book_filter_out_category","includes\\restrictions.php",4,{"type":159,"name":294,"callback":295,"file":296,"line":297},"tabbed_settings_after_update","songbook_after_settings_update","includes\\settings.php",19,{"type":159,"name":187,"callback":299,"file":300,"line":301},"constants","song-book.php",58,{"type":159,"name":187,"callback":303,"file":300,"line":304},"includes",61,{"type":159,"name":306,"callback":306,"file":300,"line":307},"set_current_user",66,{"type":159,"name":194,"callback":194,"file":300,"line":309},69,{"type":159,"name":173,"callback":173,"file":300,"line":192},{"type":159,"name":312,"callback":313,"file":300,"line":314},"wp_enqueue_scripts","enqueue_songbook_styles",76,{"type":159,"name":316,"callback":317,"file":300,"line":74},"restrict_manage_posts","restrict_song_by_taxonomy",{"type":146,"name":319,"callback":320,"file":300,"line":188},"parse_query","convert_song_id_to_term_in_query",{"type":146,"name":289,"callback":322,"file":300,"line":141},"song_cpt_search",{"type":159,"name":194,"callback":324,"file":300,"line":325},"deactivation_notice",88,{"type":159,"name":225,"callback":327,"file":300,"line":328},"action_admin_notices",89,{"type":146,"name":155,"callback":155,"file":300,"line":25},{"type":146,"name":289,"callback":331,"file":300,"line":332},"songs_to_loop",95,{"type":146,"name":289,"callback":289,"file":300,"line":48},{"type":159,"name":289,"callback":335,"file":300,"line":336},"redirect_homepage",102,{"type":159,"name":198,"callback":338,"file":300,"line":339},"add_tax_menus",580,{"type":159,"name":341,"callback":342,"file":300,"line":343},"p2p_init","songs_to_songbooks_connection_types",1167,{"type":146,"name":345,"callback":346,"priority":166,"file":347,"line":348},"term_link","song_term_link_filter","template\\single-song.php",124,{"type":146,"name":345,"callback":346,"priority":166,"file":350,"line":351},"template\\single-songbook-full.php",135,[],[],[],[],{"dangerousFunctions":357,"sqlUsage":358,"outputEscaping":363,"fileOperations":13,"externalRequests":13,"nonceChecks":462,"capabilityChecks":463,"bundledLibraries":464},[],{"prepared":13,"raw":62,"locations":359},[360],{"file":361,"line":190,"context":362},"uninstall.php","$wpdb->get_results() with variable interpolation",{"escaped":364,"rawEcho":49,"locations":365},138,[366,369,371,373,375,377,379,381,383,385,387,389,391,392,394,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,438,440,442,444,446,448,450,452,454,456,458,460],{"file":191,"line":367,"context":368},306,"raw output",{"file":191,"line":370,"context":368},308,{"file":191,"line":372,"context":368},328,{"file":191,"line":374,"context":368},347,{"file":191,"line":376,"context":368},373,{"file":191,"line":378,"context":368},375,{"file":191,"line":380,"context":368},379,{"file":191,"line":382,"context":368},381,{"file":191,"line":384,"context":368},384,{"file":191,"line":386,"context":368},386,{"file":191,"line":388,"context":368},389,{"file":191,"line":390,"context":368},408,{"file":191,"line":390,"context":368},{"file":191,"line":393,"context":368},411,{"file":191,"line":216,"context":368},{"file":191,"line":396,"context":368},479,{"file":191,"line":398,"context":368},516,{"file":191,"line":400,"context":368},519,{"file":191,"line":402,"context":368},537,{"file":191,"line":404,"context":368},566,{"file":203,"line":406,"context":368},929,{"file":203,"line":408,"context":368},1095,{"file":203,"line":410,"context":368},1106,{"file":203,"line":412,"context":368},1115,{"file":203,"line":414,"context":368},2675,{"file":203,"line":416,"context":368},2824,{"file":203,"line":418,"context":368},3053,{"file":203,"line":420,"context":368},3079,{"file":300,"line":422,"context":368},848,{"file":300,"line":424,"context":368},908,{"file":300,"line":426,"context":368},910,{"file":300,"line":428,"context":368},914,{"file":430,"line":150,"context":368},"template\\archive-songbook.php",{"file":347,"line":432,"context":368},84,{"file":347,"line":434,"context":368},97,{"file":347,"line":436,"context":368},126,{"file":347,"line":364,"context":368},{"file":347,"line":439,"context":368},171,{"file":347,"line":441,"context":368},193,{"file":347,"line":443,"context":368},207,{"file":350,"line":445,"context":368},96,{"file":350,"line":447,"context":368},121,{"file":350,"line":449,"context":368},137,{"file":350,"line":451,"context":368},163,{"file":350,"line":453,"context":368},187,{"file":350,"line":455,"context":368},209,{"file":350,"line":457,"context":368},223,{"file":459,"line":166,"context":368},"template\\taxonomy-publisher.php",{"file":461,"line":166,"context":368},"template\\taxonomy-songwriter.php",7,18,[],[],{"summary":467,"deductions":468},"The \"song-book\" v1.3 plugin exhibits a generally strong security posture based on the static analysis. A key strength is the absence of identified entry points such as AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication checks.  Furthermore, the code signals indicate a good implementation of security measures like nonce checks and capability checks, with a significant percentage of output properly escaped, and no dangerous functions or file operations detected. The lack of vulnerability history, including CVEs, further supports a positive security assessment.\n\nHowever, the analysis does reveal a potential concern within the SQL query handling. With one SQL query identified and 0% of them using prepared statements, this presents a significant risk of SQL injection vulnerabilities. This is particularly concerning as it's the only identified database interaction and is not protected by proper sanitization. The taint analysis showing zero flows with unsanitized paths is a positive sign, but it doesn't negate the risk posed by the raw SQL query.\n\nIn conclusion, while the plugin demonstrates excellent practice in limiting its attack surface and implementing many security checks, the sole SQL query's lack of prepared statements is a critical weakness that needs immediate attention. Addressing this single SQL vulnerability would significantly improve the plugin's overall security.",[469],{"reason":470,"points":166},"SQL queries not using prepared statements","2026-03-16T23:02:13.208Z",{"wat":473,"direct":480},{"assetPaths":474,"generatorPatterns":476,"scriptPaths":477,"versionParams":478},[475],"\u002Fwp-content\u002Fplugins\u002Fsong-book\u002Fassets\u002Fcss\u002Ficons.css",[],[],[479],"song-book\u002Fassets\u002Fcss\u002Ficons.css?ver=",{"cssClasses":481,"htmlComments":482,"htmlAttributes":483,"restEndpoints":484,"jsGlobals":485,"shortcodeOutput":486},[],[],[],[],[],[]]