[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fa_rWIGpge6fsM7JW5CEfI13YujjRewcK1O5QYAkZmzU":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":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":46,"crawl_stats":35,"alternatives":52,"analysis":155,"fingerprints":228},"bulk-page-stub-creator","Bulk Page Stub Creator","1.2.1","runthings.dev","https:\u002F\u002Fprofiles.wordpress.org\u002Frunthingsdev\u002F","\u003Cp>This is a developer plugin for WordPress developers to ease their initial content setup process.\u003C\u002Fp>\n\u003Cp>It is a simple plugin; it gives you a text input area. On the first line you type the page title, on the second line you type the slug. Then you repeat the process for as many pages that you want to create.\u003C\u002Fp>\n\u003Cp>When you press the \u003Ccode>Create page stubs\u003C\u002Fcode> button it will automatically create all of the stubs for you.\u003C\u002Fp>\n\u003Ch3>Who This Is Aimed At\u003C\u002Fh3>\n\u003Cp>This plugin is for website developers that want to speed up their initial content setup process.\u003C\u002Fp>\n\u003Cp>It is a really simple plugin by design. I wrote it to help speed up my own website development process.\u003C\u002Fp>\n\u003Cp>I can see some ideas as to how this could be expanded and if you find this useful I’m open to suggestions on the GitHub Issues page.\u003C\u002Fp>\n\u003Ch3>How It Fits Into My Workflow\u003C\u002Fh3>\n\u003Cp>First I plan out the structure of my site in a sitemap document. This document contains the page names and the slugs.\u003C\u002Fp>\n\u003Cp>Then I create another document from this which details all of the page meta like, descriptions, titles, headers, contents text, footer tags and any other optimisations I want to add.\u003C\u002Fp>\n\u003Cp>This plugin lets me quickly process my sitemap document into real page stubs on the website, complete with the slugs I want.\u003C\u002Fp>\n\u003Cp>The results page is then shown which has edit page links for all of the new pages.\u003C\u002Fp>\n\u003Cp>This allows you to easily open up each tab in the order I’ve planned out (not alphabetically sorted like WordPress defaults) and insert the remaining meta to the pages.\u003C\u002Fp>\n\u003Cp>If this sounds like your workflow then this plugin could save you time!\u003C\u002Fp>\n","A developer admin plugin that lets you bulk create page stubs by providing a batch of page titles and slugs.",500,6824,94,3,"2026-03-12T20:55:00.000Z","6.9.4","4.0","",[20,21],"admin","developer","https:\u002F\u002Frunthings.dev\u002Fwordpress-plugins\u002Fbulk-page-stub-creator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbulk-page-stub-creator.1.2.1.zip",99,1,0,"2025-04-17 00:00:00","2026-03-15T15:16:48.613Z",[30],{"id":31,"url_slug":32,"title":33,"description":34,"plugin_slug":4,"theme_slug":35,"affected_versions":36,"patched_in_version":37,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":27,"updated_date":42,"references":43,"days_to_patch":45},"CVE-2025-39519","bulk-page-stub-creator-reflected-cross-site-scripting","Bulk Page Stub Creator \u003C= 1.1 - Reflected Cross-Site Scripting","The Bulk Page Stub Creator plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 1.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.",null,"\u003C=1.1","1.2","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-04-30 13:42:37",[44],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F2363b412-f14b-41e5-a1a7-707f5db2ce65?source=api-prod",14,{"slug":47,"display_name":7,"profile_url":8,"plugin_count":48,"total_installs":49,"avg_security_score":50,"avg_patch_time_days":45,"trust_score":13,"computed_at":51},"runthingsdev",11,1660,100,"2026-04-04T12:25:52.738Z",[53,77,97,114,136],{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":63,"num_ratings":48,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":18,"download_link":74,"security_score":75,"vuln_count":25,"unpatched_count":26,"last_vuln_date":76,"fetched_at":28},"advanced-post-manager","Advanced Post Manager","4.5.5","StellarWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fstellarwp\u002F","\u003Cp>This is a tool for developers who want to turbo-charge their custom post type listings with metadata, taxonomies, and more. An intuitive interface for adding (and saving) complex filtersets is provided, along with a drag-and-drop interface for choosing and ordering columns to be displayed. Metaboxes are also automatically generated for all your metadata-entry needs.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add columns to the post listing view\u003C\u002Fli>\n\u003Cli>Filter post listings by custom criteria\u003C\u002Fli>\n\u003Cli>Easily add metaboxes to custom post types\u003C\u002Fli>\n\u003Cli>Automatically add registered taxonomies to post listings\u003C\u002Fli>\n\u003Cli>Sort by post metadata\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See docs\u002Fdocumentation.html in the plugin directory for full documentation.\u003C\u002Fp>\n\u003Cp>The team at The Events Calendar stands by our work and offers light support every Wednesday to the community via the WordPress.org support forums. Feel free to ask a question if you’re having a problem with implementation or if you find bugs.\u003C\u002Fp>\n\u003Ch4>SUBMITTING PATCHES\u003C\u002Fh4>\n\u003Cp>If you’ve identified a bug and want to submit a patch, we’d welcome it at our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthe-events-calendar\u002Fadvanced-post-manager\" rel=\"nofollow ugc\">GitHub page for Advanced Post Manager.\u003C\u002Fa> Simply cue up your proposed patch as a pull request, and we’ll review as part of our monthly release cycle and merge into the codebase if appropriate from there. (If a pull request is rejected, we’ll do our best to tell you why). Users whose pull requests are accepted will receive credit in the plugin’s changelog. For more information, check out the readme at our GitHub page. Happy coding!\u003C\u002Fp>\n\u003Ch3>Add-Ons\u003C\u002Fh3>\n\u003Cp>But wait: there’s more! We’ve got a whole stable of plugins available to help you be awesome at what you do. Check out a full list of the products below, and over on \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wn\" rel=\"nofollow ugc\">our website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Our Free Plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthe-events-calendar\u002F\" rel=\"ugc\">The Events Calendar\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevent-tickets\u002F\" rel=\"ugc\">Event Tickets\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgigpress\u002F\" rel=\"ugc\">GigPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimage-widget\u002F\" rel=\"ugc\">Image Widget\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Our Premium Plugins and Services:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wi\" rel=\"nofollow ugc\">Events Calendar PRO\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F197u\" rel=\"nofollow ugc\">Event Aggregator\u003C\u002Fa> (service)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wk\" rel=\"nofollow ugc\">Event Tickets Plus\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2g\" rel=\"nofollow ugc\">Community Events\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wl\" rel=\"nofollow ugc\">Community Tickets\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002Ffa\" rel=\"nofollow ugc\">Filter Bar\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2e\" rel=\"nofollow ugc\">Eventbrite Tickets\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Turbo charge your posts admin for any custom post type with sortable filters and columns, and auto-registration of metaboxes.",4000,146090,70,"2025-08-26T20:29:00.000Z","6.8.5","6.6","7.4",[69,70,71,72,73],"column","custom-post","developer-tools","filter","wp-admin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-post-manager.4.5.5.zip",98,"2022-07-15 00:00:00",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":18,"tags":92,"homepage":18,"download_link":95,"security_score":96,"vuln_count":26,"unpatched_count":26,"last_vuln_date":35,"fetched_at":28},"developer-mode","Developer Mode","0.4.1.3","Jesper van Engelen","https:\u002F\u002Fprofiles.wordpress.org\u002Fengelen\u002F","\u003Cp>If you develop WordPress websites for your clients, this is the plugin for you! Developer Mode makes it possible to easily disable certain parts of the admin panel for your clients, while keeping full control over all admin panel functionality for yourself and other developers. For example, you can hide certain menu items for non-developer users and even hide certain plugins from the plugins overview page.\u003C\u002Fp>\n\u003Cp>The Developer Mode plugin allows your clients to be presented with a clean WordPress admin interface with only the functionality they need – and nothing more. You don’t want to allow your clients to fiddle with plugins, but you probably don’t want them to mess with your Advanced Custom Fields or Option Tree settings either. Let Developer Mode do the dirty work for you, and clean up your client’s admin interface with just a few mouse clicks!\u003C\u002Fp>\n\u003Ch4>Introduction\u003C\u002Fh4>\n\u003Cp>Let’s face it: a big part of the WordPress admin panel is not suited for your clients. Some of your clients might not know enough about WordPress to have as many options as you as a developer need, and some parts of your website are just not meant to be tampered with by them. This is where the Developer Mode plugin steps in: it allows you to disable certain parts of the admin functionality in the admin panel, such as updating plugins, viewing menu items and disabling specific plugins.\u003C\u002Fp>\n\u003Ch4>Main options\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Hide admin menu items for non-developer users, but not for yourself\u003C\u002Fli>\n\u003Cli>Hide certain plugins from the plugin menu so non-developer users can’t disable them, while allowing them to enable, disable and install other plugins\u003C\u002Fli>\n\u003Cli>Disable core, plugin or theme updates for non-developer users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Feature requests\u003C\u002Fh4>\n\u003Cp>If you have any feature requests for this plugin to allow you to clean up the admin interface for your clients even more, please drop us a message in the support forum and we will consider it for the next version! Suggestions are much appreciated!\u003C\u002Fp>\n","Limit access to the WordPress admin panel for your clients. Block functionality like updating plugins and viewing menu items for administrators, while &hellip;",300,14279,86,8,"2013-07-07T15:44:00.000Z","3.5.2","3.1",[20,93,21,78,94],"client","hide-menu","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdeveloper-mode.0.4.1.3.zip",85,{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":85,"downloaded":105,"rating":50,"num_ratings":25,"last_updated":106,"tested_up_to":65,"requires_at_least":107,"requires_php":18,"tags":108,"homepage":112,"download_link":113,"security_score":50,"vuln_count":26,"unpatched_count":26,"last_vuln_date":35,"fetched_at":28},"j7-beaver-headers-footers","J7 Beaver Header Footer Templates","3.06","jatacid","https:\u002F\u002Fprofiles.wordpress.org\u002Fjatacid\u002F","\u003Cul>\n\u003Cli>Compatible with the Beaver Builder Theme\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Design your own header in the Beaver Builder plugin and save the layout, then – use the J7 Beaver Headers Footers plugin to easily apply it to your pages!\u003C\u002Fp>\n\u003Cp>This plugin uses the Theme Customizer so you can get a LIVE view of your inserted layout and control the appearance dynamically without guessing what it’s going to look like!\u003C\u002Fp>\n\u003Cp>Supports simple inserted style, overlay effect, sticky effect and gives you full control over the opacity!\u003C\u002Fp>\n\u003Cp>This plugin is a superior method of inserting beaver layouts as it will correctly apply the right html5 markup for headers or footers and also apply the markup for Schema so Search Engines have full context for your code for excellent SEO.\u003C\u002Fp>\n\u003Cp>It will also respect your individual page settings if they are set as ‘No Header Footer’ template so you can still make your own landing pages completely independently.\u003C\u002Fp>\n","Adds a panel to the Theme Customizer to insert a Beaver Builder layout as a header\u002Ffooter globally on each page.",9046,"2025-11-21T07:52:00.000Z","4.3.0",[20,109,21,110,111],"beaver-builder","headers","usability","https:\u002F\u002Fj7digital.com\u002Fplugins-downloads\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fj7-beaver-headers-footers.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":50,"num_ratings":124,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":18,"tags":128,"homepage":134,"download_link":135,"security_score":96,"vuln_count":26,"unpatched_count":26,"last_vuln_date":35,"fetched_at":28},"admin-page-framework","Admin Page Framework","3.9.1","miunosoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fmiunosoft\u002F","\u003Ch4>Reduce the Time Spent for Plugin and Theme Development\u003C\u002Fh4>\n\u003Cp>One of the time-consuming part of developing WordPress plugins and themes is creating setting pages. As you more and more write plugins and themes, you will soon realize major part of code can be reused. Admin Page Framework aims to provide reusable code that eliminates the necessity of writing repeated code over and over again.\u003C\u002Fp>\n\u003Cp>You will have more organized means of building option pages with the framework. Extend the library class and pass your arrays defining the form elements to the predefined class methods. The library handles all the complex coding behind the scene and creates the pages and the forms for you.\u003C\u002Fp>\n\u003Ch4>Create Essential Page and Form Components for Your Users\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Top-level Page, Sub Pages, and In-page Tabs\u003C\u002Fstrong> – where your users will access to operate your plugin or theme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Forms\u003C\u002Fstrong> – to let your users store their options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Types\u003C\u002Fstrong> – and the custom columns in the post listing table.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Taxonomies and Fields\u003C\u002Fstrong> – store options associated with a taxonomy in the taxonomy definition page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Boxes and Fields\u003C\u002Fstrong> – store meta data associated with posts of set post types. Also meta boxes can be added to the pages created with the framework.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets and Fields\u003C\u002Fstrong> – display modular outputs based on the user’s settings in the front end.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Network Admin Pages and Forms\u003C\u002Fstrong> – create admin pages in the newtork admin area of WordPress multi-sites.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Construct Simple Yet Complex Setting Forms\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Section Tabs\u003C\u002Fstrong> – form sections can be displayed in a tabbed box.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Collapsible Sections\u003C\u002Fstrong> – form sections can be collapsed and expanded.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Repeatable Sections and Fields\u003C\u002Fstrong> – dynamically add\u002Fremove form sections and fields.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sortable Sections and Fields\u003C\u002Fstrong> – drag and drop form sections and fields to change the order.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Nested Sections and Fields\u003C\u002Fstrong> – nest sections and fields to construct complex forms.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import and Export Options\u003C\u002Fstrong> – buttons that the user can import and export settings by uploading and downloading text files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reset Button\u003C\u002Fstrong> – let your users to initialize the saved options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Validation and Error Messages\u003C\u002Fstrong> – with the pre-defined validation callbacks, the user’s submitting form data can be verified. Furthermore, by setting the error array, you can display the error message to the user.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contextual Help Pane\u003C\u002Fstrong> – help information can be added to the contextual help pane that appears at the top right of each screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Field Types\u003C\u002Fstrong> – your own field type can be registered. This allows you to design own fields such as a combination of a checkbox with a text field.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contact Form\u003C\u002Fstrong> – receive emails of user feedback and issue reports sent via the contact form embedded in an admin page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tooltips\u003C\u002Fstrong> – add a small pop-up box beside section and field title for the users to read about the option.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Produce a Series of Products with the Framework Extensibility\u003C\u002Fh4>\n\u003Cp>If you are planning to create a product possibly extended with an unlimited number of add-ons, take advantage of the framework’s native extensibility. The created admin pages and forms will become highly extensible with the automatically created hooks. In other words, it empowers other developers to customize your plugin or theme. That will result on making your projects grow.\u003C\u002Fp>\n\u003Cp>Also, use the framework as a library and your plugin or theme does not have to require an extra dependency to be installed. Therefore, your product will be perfectly portable.\u003C\u002Fp>\n\u003Ch4>Built-in Field Types\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>text\u003C\u002Fcode> – a normal field to enter text input.\u003C\u002Fli>\n\u003Cli>\u003Ccode>password\u003C\u002Fcode> – a masked text input field.\u003C\u002Fli>\n\u003Cli>\u003Ccode>textarea\u003C\u002Fcode> – a text input field with multiple lines. It supports TinyMCE rich text editor.\u003C\u002Fli>\n\u003Cli>\u003Ccode>radio\u003C\u002Fcode> – a set of radio buttons that lets the user pick an option.\u003C\u002Fli>\n\u003Cli>\u003Ccode>checkbox\u003C\u002Fcode> – a check box that lets the user enable\u002Fdisable an item.\u003C\u002Fli>\n\u003Cli>\u003Ccode>select\u003C\u002Fcode> – a drop-down list that lest the user pick one or more item(s) from a list.\u003C\u002Fli>\n\u003Cli>\u003Ccode>hidden\u003C\u002Fcode> – a hidden field that will be useful to insert invisible values.\u003C\u002Fli>\n\u003Cli>\u003Ccode>file\u003C\u002Fcode> – a file uploader that lets the user upload files.\u003C\u002Fli>\n\u003Cli>\u003Ccode>image\u003C\u002Fcode> – a custom text field with the image uploader script that lets the user set an image URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>media\u003C\u002Fcode> – a custom text field with the media uploader script that lets the user set a file URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>color\u003C\u002Fcode> – a custom text field with the color picker script.\u003C\u002Fli>\n\u003Cli>\u003Ccode>submit\u003C\u002Fcode> – a submit button that lets the user send the form.\u003C\u002Fli>\n\u003Cli>\u003Ccode>export\u003C\u002Fcode> – a custom submit field that lets the user export the stored data.\u003C\u002Fli>\n\u003Cli>\u003Ccode>import\u003C\u002Fcode> – a custom combination field of the file and the submit fields that let the user import data.\u003C\u002Fli>\n\u003Cli>\u003Ccode>posttype\u003C\u002Fcode> – a set of check-lists of taxonomies enabled on the site in a tabbed box.\u003C\u002Fli>\n\u003Cli>\u003Ccode>taxonomy\u003C\u002Fcode> – check-lists of taxonomies enabled on the site in a tabbed box.\u003C\u002Fli>\n\u003Cli>\u003Ccode>size\u003C\u002Fcode> – a combination field of the text and the select fields that let the user set sizes with a selectable unit.\u003C\u002Fli>\n\u003Cli>\u003Ccode>section_title\u003C\u002Fcode> – a text field placed in the section title to let the user name the section.\u003C\u002Fli>\n\u003Cli>\u003Ccode>system\u003C\u002Fcode> – displays the site system information.\u003C\u002Fli>\n\u003Cli>\u003Ccode>inline_mixed\u003C\u002Fcode> – consists of inline elements of fields with different field types.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Bundled Custom Field Types\u003C\u002Fh4>\n\u003Cp>With custom field types, you can create more detailed customized field outputs. The demo component includes the following example custom field types.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>sample\u003C\u002Fcode> – a sample custom field type with a JavaScript script.\u003C\u002Fli>\n\u003Cli>\u003Ccode>github\u003C\u002Fcode> – displays GitHub buttons.\u003C\u002Fli>\n\u003Cli>\u003Ccode>path\u003C\u002Fcode> – lets the user select file paths on the server.\u003C\u002Fli>\n\u003Cli>\u003Ccode>toggle\u003C\u002Fcode> – lets the user toggle a switch button.\u003C\u002Fli>\n\u003Cli>\u003Ccode>no_ui_slider\u003C\u002Fcode> – lets the user set values between ranges with a slider.\u003C\u002Fli>\n\u003Cli>\u003Ccode>select2\u003C\u002Fcode> – lets the user select items from a predefined list which cam be populated with AJAX.\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type_taxonomy\u003C\u002Fcode> – lets the user select taxonomy terms of selected post types.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you want a field type that are not listed here, you can check the \u003Ca href=\"http:\u002F\u002Fadmin-page-framework.michaeluno.jp\u002Fadd-ons\u002Ffield-type-pack\u002F\" rel=\"nofollow ugc\">field type pack\u003C\u002Fa> or request a new one in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fadmin-page-framework\" rel=\"ugc\">forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Getting Started\u003C\u002Fh4>\n\u003Cp>To get started, go to \u003Cstrong>Dashboard\u003C\u002Fstrong> -> \u003Cstrong>Admin Page Framework\u003C\u002Fstrong> -> \u003Cstrong>About\u003C\u002Fstrong> -> \u003Cstrong>Getting Started\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Demo\u003C\u002Fh4>\n\u003Cp>Activate the demo pages to see the possible features of the framework. To activate it, go to \u003Cstrong>Dashboard\u003C\u002Fstrong> -> \u003Cstrong>Admin Page Framework\u003C\u002Fstrong> -> \u003Cstrong>Add Ons\u003C\u002Fstrong> -> \u003Cstrong>Demo\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fadmin-page-framework.michaeluno.jp\u002Fen\u002Fv3\u002Fpackage-AdminPageFramework.AdminPage.html\" rel=\"nofollow ugc\">Online Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fadmin-page-framework.michaeluno.jp\u002Ftutorials\u002F\" rel=\"nofollow ugc\">Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Notes:\u003C\u002Fstrong> this framework does not do anything by itself. If you are not a developer, you do not need this.\u003C\u002Fp>\n\u003Ch4>Use Unique Page Slug\u003C\u002Fh4>\n\u003Cp>The framework internally uses the \u003Ccode>add_submenu_page()\u003C\u002Fcode> function to register sub menu pages. When the same page slug is registered for multiple root pages, only the last registered callback gets triggered. The other ones will be ignored.\u003C\u002Fp>\n\u003Cp>This means if you choose a very simple page slug such as \u003Ccode>about\u003C\u002Fcode> for your plugin\u002Ftheme’s information page and then if there is another plugin using the same page slug, your users will get either of your page or the other.\u003C\u002Fp>\n\u003Cp>To avoid this, make sure to use a unique page slug. One way to do that is to add a prefix like \u003Ccode>apf_about\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Use the files generated with the component generator\u003C\u002Fh4>\n\u003Cp>There is one thing you need to be careful when you include the framework: the framework version conflicts. Imagine you publish a plugin using the framework v3.4.6 and your plugin user installs a plugin using the framework v3.0.0 which is below your framework version. If the other plugin loads earlier than yours, your plugin may not work properly and vice versa.\u003C\u002Fp>\n\u003Cp>There is a way to avoid such a conflict: change the PHP class names of the framework you include. All the class names have the prefix \u003Ccode>AdminPageFramework\u003C\u002Fcode> so just change it to something like \u003Ccode>MyPlugin_AdminPageFramework\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Go to \u003Cstrong>Dashboard\u003C\u002Fstrong> -> \u003Cstrong>Admin Page Framework\u003C\u002Fstrong> -> \u003Cstrong>Tools\u003C\u002Fstrong> -> \u003Cstrong>Generator\u003C\u002Fstrong>. Set the prefix in the option field and download the files.\u003C\u002Fp>\n\u003Cp>If you do not modify the framework class names, you are supposed to extend the \u003Ccode>AdminPageFramework\u003C\u002Fcode> factory class.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class MyAdminPage extends AdminPageFramework {\n    ...\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>When you modify the framework class names, make sure you extend the class with the modified name.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class MyAdminPage extends MyPlugin_AdminPageFramework {\n    ...\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For more detailed instruction, go to \u003Cstrong>Dashboard\u003C\u002Fstrong> -> \u003Cstrong>Admin Page Framework\u003C\u002Fstrong> -> \u003Cstrong>About\u003C\u002Fstrong> -> \u003Cstrong>Getting Started\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>By the time WordPress’s minimum required PHP version becomes 5.3 or higher, we can use name spaces then this problem will be solved.\u003C\u002Fp>\n\u003Ch4>Change Framework’s System Messages\u003C\u002Fh4>\n\u003Cp>The default messages defined by the framework can be changed. For example, when you import a setting with the framework, the setting notice “The options have been updated.” will be displayed.\u003C\u002Fp>\n\u003Cp>If you want to change it to something else, modify the \u003Ccode>oMsg\u003C\u002Fcode> object. It has the \u003Ccode>aMessages\u003C\u002Fcode> public property array holding all the messages that the framework uses.\u003C\u002Fp>\n\u003Ch4>Get comfortable with the ‘attributes’ array argument\u003C\u002Fh4>\n\u003Cp>In each field definition array, you can set the \u003Ccode>attributes\u003C\u002Fcode> arguments which defines the HTML attributes of the field so that you can modify the output of the field by passing attribute values.\u003C\u002Fp>\n\u003Cp>The argument accepts the values as an array. Each element represents the attribute’s name and value. The array key corresponds to the name of the attribute and the value to the attribute value.\u003C\u002Fp>\n\u003Cp>For example,\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'      => 'interval',\n    'title'         => __( 'Interval', 'task-scheduler' ),\n    'type'          => 'number',\n    'attributes'    => array(\n        'min'   => 0,\n        'step'  => 1,\n        'max'   => 24,\n    ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In addition, you can change the attributes of the following container elements by setting their key and passing a nested attribute array.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>fieldrow\u003C\u002Fcode> – the \u003Ccode>td\u003C\u002Fcode> tag element containing the field output.\u003C\u002Fli>\n\u003Cli>\u003Ccode>fieldset\u003C\u002Fcode> – the \u003Ccode>fieldset\u003C\u002Fcode> tag element containing the field output.\u003C\u002Fli>\n\u003Cli>\u003Ccode>fields\u003C\u002Fcode> – the \u003Ccode>div\u003C\u002Fcode> tag element containing the sub-fields and the main field.\u003C\u002Fli>\n\u003Cli>\u003Ccode>field\u003C\u002Fcode> – the \u003Ccode>div\u003C\u002Fcode> tag element containing each field.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This submit button will float right.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'          => 'submit',\n    'type'              => 'submit',\n    'save'              => false,\n    'value'             => __( 'Save', 'task-scheduler' ),\n    'label_min_width'   => 0,\n    'attributes'        => array(\n        'field' => array(\n            'style' => 'float:right; clear:none; display: inline;',\n        ),\n    ),\n)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For meta box and widget form fields (as they have slightly different styling than generic admin pages),\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'          => 'submit_in_meta_box',\n    'type'              => 'submit',\n    'save'              => false,\n    'show_title_column' => false,\n    'label_min_width'   => 0,\n    'attributes'        => array(\n        'field' => array(\n            'style' => 'float:right; width:auto;',\n        ),\n    ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Change Preview Image Size of the ‘image’ Field Type\u003C\u002Fh4>\n\u003Cp>To specify a custom size to the preview element of the \u003Ccode>image\u003C\u002Fcode> field type, set an attribute array like the below, where 300px is the max width.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'      => 'my_image_field_id',\n    'title'         => __( 'Image', 'admin-page-framework-demo' ),\n    'type'          => 'image',\n    'attributes'    => array(\n        'preview' => array(\n            'style' => 'max-width: 200px;',\n        ),\n    ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Display items of ‘radio’ field type one per line\u003C\u002Fh4>\n\u003Cp>To display radio button items one per line, set the \u003Ccode>label_min_width\u003C\u002Fcode> to \u003Ccode>100%\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'          => 'my_radio_field_id',\n    'title'             => __( 'Radio Button', 'admin-page-framework-demo' ),\n    'type'              => 'radio',\n    'label_min_width'   => '100%',\n    'label'             => array(\n        'a' => __( 'This is a.', 'admin-page-framework-demo' ),\n        'b' => __( 'This is b.', 'admin-page-framework-demo' ),\n        'c' => __( 'This is a.', 'admin-page-framework-demo' )c\n    ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Set default field value\u003C\u002Fh4>\n\u003Cp>To set the initial value of a field, use the \u003Ccode>default\u003C\u002Fcode> argument in the field definition array.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'  => 'my_text_field_id',\n    'title'     => __( 'My Text Input Field', 'admin-page-framework-demo' ),\n    'type'      => 'text',\n    'default'   => 'This text will be displayed for the first time that the field is displayed and will be overridden when a user set an own value.',\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Always display a particular value in a field\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>value\u003C\u002Fcode> argument in the definition array can suppress the saved value. This is useful when you want to set a value from a different data source or create a wizard form that stores the data in a custom location.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'  => 'my_text_field_id',\n    'title'     => __( 'My Text Input Field', 'admin-page-framework-demo' ),\n    'type'      => 'text',\n    'value'     => 'This will be always set.',\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If it is a repeatable field, set values in numerically indexed sub-elements.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'field_id'      => 'my_text_field_id',\n    'title'         => __( 'My Text Input Field', 'admin-page-framework-demo' ),\n    'type'          => 'text',\n    'repeatable'    => true,\n    'value'         => 'the first value',\n    array(\n        'value' => 'the second value',\n    ),\n    array(\n        'value' => 'the third value',\n    ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Alternately, you may use the \u003Ccode>options_{instantiated class name}\u003C\u002Fcode> filter to suppress the options so that setting the value argument is not necessary.\u003Cbr \u002F>\nSee examples, https:\u002F\u002Fgist.github.com\u002Fmichaeluno\u002Fc30713fcfe0d9d45d89f, https:\u002F\u002Fgist.github.com\u002Fmichaeluno\u002Ffcfac27825aa8a35b90f,\u003C\u002Fp>\n","Facilitates WordPress plugin and theme development.",80,64536,23,"2022-04-15T03:48:00.000Z","5.9.13","3.4",[129,130,131,132,133],"admin-pages","api","developers","options","settings","http:\u002F\u002Fadmin-page-framework.michaeluno.jp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadmin-page-framework.3.9.1.zip",{"slug":137,"name":138,"version":139,"author":140,"author_profile":141,"description":142,"short_description":143,"active_installs":144,"downloaded":145,"rating":50,"num_ratings":146,"last_updated":147,"tested_up_to":148,"requires_at_least":17,"requires_php":18,"tags":149,"homepage":153,"download_link":154,"security_score":96,"vuln_count":26,"unpatched_count":26,"last_vuln_date":35,"fetched_at":28},"apermo-adminbar","Apermo AdminBar","1.1.2","Christoph Daum","https:\u002F\u002Fprofiles.wordpress.org\u002Fapermo\u002F","\u003Cp>This plugin enhances the AdminBar and adds links to development, staging and live version of your website, furthermore it allows you to choose a color scheme of your AdminBar for all users on a website, including the frontend.\u003Cbr \u002F>\nYou also have to option to control the robots.txt visibility settings, in the newest version you get a watermark for posts that are in draft or scheduled, and a keyboard shortcut to hide the adminbar.\u003C\u002Fp>\n\u003Cp>If you want to participate in the development \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fapermo\u002Fapermo-adminbar\" rel=\"nofollow ugc\">head over to GitHub\u003C\u002Fa>!\u003C\u002Fp>\n","This plugin allows you to add links between a development, staging and live version of your website, and adds them to the AdminBar.",60,3068,2,"2016-12-14T22:43:00.000Z","4.7.0",[20,150,151,21,152],"admin-bar","adminbar","development","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fapermo-adminbar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fapermo-adminbar.1.1.2.zip",{"attackSurface":156,"codeSignals":168,"taintFlows":176,"riskAssessment":219,"analyzedAt":227},{"hooks":157,"ajaxHandlers":164,"restRoutes":165,"shortcodes":166,"cronEvents":167,"entryPointCount":26,"unprotectedCount":26},[158],{"type":159,"name":160,"callback":161,"file":162,"line":163},"action","admin_menu","add_admin_page_link","includes\\show-admin-page.php",43,[],[],[],[],{"dangerousFunctions":169,"sqlUsage":170,"outputEscaping":172,"fileOperations":26,"externalRequests":26,"nonceChecks":146,"capabilityChecks":174,"bundledLibraries":175},[],{"prepared":26,"raw":26,"locations":171},[],{"escaped":124,"rawEcho":26,"locations":173},[],6,[],[177,201],{"entryPoint":178,"graph":179,"unsanitizedCount":25,"severity":200},"admin_page (includes\\show-admin-page.php:213)",{"nodes":180,"edges":196},[181,186,190],{"id":182,"type":183,"label":184,"file":162,"line":185},"n0","source","$_POST['bpsc_pagestocreate']",231,{"id":187,"type":188,"label":189,"file":162,"line":185},"n1","transform","→ display_admin_page()",{"id":191,"type":192,"label":193,"file":162,"line":194,"wp_function":195},"n2","sink","echo() [XSS]",196,"echo",[197,199],{"from":182,"to":187,"sanitized":198},false,{"from":187,"to":191,"sanitized":198},"low",{"entryPoint":202,"graph":203,"unsanitizedCount":25,"severity":200},"\u003Cshow-admin-page> (includes\\show-admin-page.php:0)",{"nodes":204,"edges":214},[205,208,209,210,212],{"id":182,"type":183,"label":206,"file":162,"line":207},"$_POST",68,{"id":187,"type":192,"label":193,"file":162,"line":194,"wp_function":195},{"id":191,"type":183,"label":184,"file":162,"line":185},{"id":211,"type":188,"label":189,"file":162,"line":185},"n3",{"id":213,"type":192,"label":193,"file":162,"line":194,"wp_function":195},"n4",[215,217,218],{"from":182,"to":187,"sanitized":216},true,{"from":191,"to":211,"sanitized":198},{"from":211,"to":213,"sanitized":198},{"summary":220,"deductions":221},"The static analysis of the \"bulk-page-stub-creator\" plugin v1.2.1 reveals a generally strong security posture with several good practices in place. The plugin exhibits no direct attack surface through AJAX handlers, REST API routes, shortcodes, or cron events. Crucially, all SQL queries are properly prepared, there are no file operations or external HTTP requests, and all identified outputs are correctly escaped. The presence of nonce and capability checks further indicates a commitment to secure coding.  However, the taint analysis indicates two flows with unsanitized paths, even though they are not flagged as critical or high severity. This warrants attention as it suggests potential, albeit low-level, risks related to how input is handled before being processed. The plugin's vulnerability history shows one past medium-severity vulnerability related to Cross-site Scripting, which has since been patched. The lack of currently unpatched vulnerabilities is positive, but the past XSS issue highlights a specific area of concern that requires ongoing vigilance.\n\nIn conclusion, the plugin demonstrates a good foundation for security, with significant efforts made to prevent common web vulnerabilities. The absence of immediate critical flaws and the proper handling of SQL and output are commendable strengths. The identified taint flows with unsanitized paths represent a weakness that should be investigated and remediated to ensure a fully robust security profile. The historical vulnerability, though patched, serves as a reminder to maintain diligent security practices and ensure future updates continue to address potential XSS vectors.",[222,225],{"reason":223,"points":224},"Flows with unsanitized paths found in taint analysis",5,{"reason":226,"points":224},"Past medium severity vulnerability (XSS)","2026-03-16T19:38:14.379Z",{"wat":229,"direct":238},{"assetPaths":230,"generatorPatterns":232,"scriptPaths":233,"versionParams":235},[231],"\u002Fwp-content\u002Fplugins\u002Fbulk-page-stub-creator\u002Fassets\u002Fcss\u002Fstyle.css",[],[234],"\u002Fwp-content\u002Fplugins\u002Fbulk-page-stub-creator\u002Fassets\u002Fjs\u002Fbulk-page-stub-creator.js",[236,237],"bulk-page-stub-creator\u002Fassets\u002Fcss\u002Fstyle.css?ver=","bulk-page-stub-creator\u002Fassets\u002Fjs\u002Fbulk-page-stub-creator.js?ver=",{"cssClasses":239,"htmlComments":240,"htmlAttributes":244,"restEndpoints":245,"jsGlobals":246,"shortcodeOutput":248},[],[241,242,243],"\u003C!-- Bulk Page Stub Creator -->","\u003C!-- Bulk Page Stub Creator Start -->","\u003C!-- Bulk Page Stub Creator End -->",[],[],[247],"bulkPageStubCreatorAdmin",[]]