[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftnlLXCTYwZCl-edlpVDmPVBfR2Tnlh-GlbG7Op1g4zc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":21,"download_link":22,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":33,"analysis":130,"fingerprints":167},"football-game-by-kashan-shah","football_game_by_kashanshah","0.0.9","kashanshah","https:\u002F\u002Fprofiles.wordpress.org\u002Fkashanshah\u002F","\u003Cp>This is a very simple football penalty shoot game. It may easily be added to any wordpress site to attract the visitors. The user is allowed to click on the goal are where he\u002Fshe wants to kick the goal. It’s easy and very simple to add in any page. You just need to copy and paste the shortcode ( [football_game_by_kashanshah] ) on your post and it’s done.\u003C\u002Fp>\n","This is a very simple football game. It may easily be added to any wordpress site to attract the visitors as FIFA Wordl Cup 2018 is just here.",0,10863,"2018-05-24T19:55:00.000Z","4.9.29","4.0.1","5.2.4",[18,19,20],"body-tag","country-names","developers","http:\u002F\u002Fkashanshah.ga","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-game-by-kashan-shah.0.0.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":30,"avg_patch_time_days":31,"trust_score":23,"computed_at":32},4,60,87,30,"2026-04-05T15:16:36.659Z",[34,45,66,89,109],{"slug":35,"name":36,"version":37,"author":7,"author_profile":8,"description":38,"short_description":39,"active_installs":40,"downloaded":41,"rating":11,"num_ratings":11,"last_updated":42,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":43,"homepage":21,"download_link":44,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"wp-country-class-in-body-tag","WP Country Class In Body Tag","1.0.2","\u003Cp>This plugin is developed to add visitor’s country class on the body tag of the page to use in displaying country based content on the website! By using the country class, the developer may show\u002Fhide\u002Fmodify content with css\u002Fjs. It uses a 3rd Party API (GeoPlugin.net) for this purpose. It send the user’s IP Adress to GeoPlugin.net, i.e. http:\u002F\u002Fwww.geoplugin.net\u002Fjson.gp?ip=XXX.XXX.XX.XXX, which in response returns the geo-location information about that IP Adress, out of which our plugin adds the country code as classname in the body tag.\u003C\u002Fp>\n","This plugin is developed to add visitor's country class on the body tag of the page to use in displaying country based content on the website! By &hellip;",10,19771,"2018-05-14T22:47:00.000Z",[18,19,20],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-country-class-in-body-tag.1.0.2.zip",{"slug":46,"name":47,"version":48,"author":49,"author_profile":50,"description":51,"short_description":52,"active_installs":53,"downloaded":54,"rating":55,"num_ratings":56,"last_updated":57,"tested_up_to":58,"requires_at_least":59,"requires_php":60,"tags":61,"homepage":64,"download_link":65,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"hide-products-count","Hide products count","0.6","Joan Boluda","https:\u002F\u002Fprofiles.wordpress.org\u002Fboluda\u002F","\u003Cp>Hide products count in category view in WooCommerce\u003C\u002Fp>\n","Hide products count in category view in WooCommerce",300,6366,86,6,"2017-04-18T15:02:00.000Z","4.4.34","3.5.0","",[20,62,63],"dummy-text","lorem-ipsum","http:\u002F\u002Fboluda.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhide-products-count.zip",{"slug":67,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":74,"downloaded":75,"rating":74,"num_ratings":76,"last_updated":77,"tested_up_to":78,"requires_at_least":79,"requires_php":80,"tags":81,"homepage":87,"download_link":88,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"premmerce-dev-tools","Premmerce Dev Tools","2.0","Premmerce","https:\u002F\u002Fprofiles.wordpress.org\u002Fpremmerce\u002F","\u003Cp>This plugin is aimed at making it easier to develop, test and debug the code on the WordPress platform.\u003Cbr \u002F>\nWe created this plugin based on our research: \u003Ca href=\"https:\u002F\u002Fpremmerce.com\u002Fwordpress-development-environment-developers-best-practices-review\u002F\" rel=\"nofollow ugc\">WordPress Development Environment and Developers Best Practices Review\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Major features in “Premmerce Dev Tools”\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Integration of symfony\u002Fvar-dumper for debugging the code\u003C\u002Fli>\n\u003Cli>Integration symfony\u002Fstopwatch for the execution time checking\u003C\u002Fli>\n\u003Cli>Generating the test data for WooCommerce\u003C\u002Fli>\n\u003Cli>Plugin generator, which creates the basic files structure\u003C\u002Fli>\n\u003Cli>Database clean up\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Compatibility with other Plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Installation\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Unzip the downloaded zip file.\u003C\u002Fli>\n\u003Cli>Upload the plugin folder into the ‘wp-content\u002Fplugins\u002F’ directory of your WordPress site.\u003C\u002Fli>\n\u003Cli>Activate ‘Premmerce Dev Tools’ from Plugins page\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cp>Full documentation is available here: \u003Ca href=\"https:\u002F\u002Fpremmerce.com\u002Fpremmerce-dev-tools\u002F\" rel=\"nofollow ugc\">Premmerce Dev Tools\u003C\u002Fa>\u003C\u002Fp>\n","This plugin is created to facilitate the development, testing and debugging of the code on the WordPress platform and to quickly create the demo data  &hellip;",100,5474,2,"2019-05-29T10:08:00.000Z","5.2.24","4.8","5.6",[82,83,84,85,86],"code-debug","debugging","developers-tools","plugin-generator","wordpress-debugging","https:\u002F\u002Fpremmerce.com\u002Fpremmerce-dev-tools\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpremmerce-dev-tools.2.0.zip",{"slug":90,"name":91,"version":92,"author":93,"author_profile":94,"description":95,"short_description":96,"active_installs":97,"downloaded":98,"rating":74,"num_ratings":99,"last_updated":100,"tested_up_to":101,"requires_at_least":102,"requires_php":60,"tags":103,"homepage":60,"download_link":108,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"wp-utility-script-runner","WP Utility Script Runner","1.1.0","Bytes.co","https:\u002F\u002Fprofiles.wordpress.org\u002Fburlingtonbytes\u002F","\u003Cp>Sometimes, you run into a situation where you just need to manually run a script. The actual logic might be as simple as generating a csv from a query, or changing a user’s settings, or even just running a single line of SQL. WordPress makes this difficult.\u003C\u002Fp>\n\u003Cp>There are many hacky solutions to the problem, but most of them lack security or are too difficult for anyone but a developer to run or just take too long to build. That’s where we come in.\u003C\u002Fp>\n\u003Cp>WP Utility Script Runner lets you start with a simple 17 line template, add in your custom code, save to the server, and in minutes you have a secure, fully featured utility, that you can safely run from the WordPress dashboard.\u003C\u002Fp>\n\u003Cp>But that’s not all! With a few extra lines of code, your utility can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Accept user input\u003C\u002Fli>\n\u003Cli>Accept file input\u003C\u002Fli>\n\u003Cli>Run at a future date and time\u003C\u002Fli>\n\u003Cli>Run on a recurring schedule\u003C\u002Fli>\n\u003Cli>Run large tasks by breaking them up into several smaller tasks, and saving state.\u003C\u002Fli>\n\u003Cli>Create reports and other output files\u003C\u002Fli>\n\u003C\u002Ful>\n","Create custom scripts and manage them directly from the WordPress Dashboard. Schedule scripts, handle user input, download reports, and more.",90,3408,1,"2018-10-22T20:34:00.000Z","5.0.25","4.6",[104,20,105,106,107],"cron","run-once","task","utilities","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-utility-script-runner.zip",{"slug":110,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":117,"downloaded":118,"rating":74,"num_ratings":119,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":60,"tags":123,"homepage":128,"download_link":129,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"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",[124,125,20,126,127],"admin-pages","api","options","settings","http:\u002F\u002Fadmin-page-framework.michaeluno.jp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadmin-page-framework.3.9.1.zip",{"attackSurface":131,"codeSignals":145,"taintFlows":158,"riskAssessment":159,"analyzedAt":166},{"hooks":132,"ajaxHandlers":139,"restRoutes":140,"shortcodes":141,"cronEvents":144,"entryPointCount":99,"unprotectedCount":11},[133],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","admin_menu","fgbkashanshah_admin_actions","football-game-by-kashanshah.php",17,[],[],[142],{"tag":5,"callback":143,"file":137,"line":29},"fgbkashanshah_shortcode_func",[],{"dangerousFunctions":146,"sqlUsage":147,"outputEscaping":149,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":157},[],{"prepared":11,"raw":11,"locations":148},[],{"escaped":11,"rawEcho":150,"locations":151},3,[152,155,156],{"file":153,"line":76,"context":154},"admin_view.php","raw output",{"file":153,"line":150,"context":154},{"file":153,"line":28,"context":154},[],[],{"summary":160,"deductions":161},"The \"football-game-by-kashan-shah\" plugin v0.0.9 demonstrates a generally strong security posture with no recorded vulnerabilities or exploitable code signals like dangerous functions, SQL injection risks, or file operations. The absence of external HTTP requests and bundled libraries further reduces potential attack vectors.  However, a significant concern arises from the lack of output escaping for all identified outputs. This means that any data processed by the plugin and then displayed to users or within the WordPress admin area could potentially be vulnerable to Cross-Site Scripting (XSS) attacks if the data originates from an untrusted source.  While the current attack surface is small and primarily consists of a single shortcode without explicit authentication or capability checks, this is less of a concern given the lack of other vulnerabilities.  The plugin's history of zero CVEs is a positive indicator, but the unescaped output remains a notable weakness that should be addressed to ensure a more robust security.",[162,164],{"reason":163,"points":56},"No output escaping found",{"reason":165,"points":99},"Shortcode without capability checks","2026-03-17T06:27:52.921Z",{"wat":168,"direct":176},{"assetPaths":169,"generatorPatterns":172,"scriptPaths":173,"versionParams":174},[170,171],"\u002Fwp-content\u002Fplugins\u002Ffootball-game-by-kashan-shah\u002Fassets\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Ffootball-game-by-kashan-shah\u002Fassets\u002Fjs\u002Fscripts.js",[],[],[175],"football-game-by-kashanshah\u002Fassets\u002Fjs\u002Fscripts.js?ver=1.0.0",{"cssClasses":177,"htmlComments":188,"htmlAttributes":189,"restEndpoints":195,"jsGlobals":196,"shortcodeOutput":199},[178,179,180,181,182,183,184,185,186,187],"football-game","football-game-container","football-game-div","goal-target","left-top-target","left-bottom-target","right-top-target","right-bottom-target","start-img","goalScore",[],[190,191,192,193,194],"href=\"javascript:scoreGoal('LT');\"","href=\"javascript:scoreGoal('LB');;\"","href=\"javascript:scoreGoal('RT');;\"","href=\"javascript:scoreGoal('RB');;\"","href=\"javascript:;setArena();\"",[],[197,198],"scoreGoal","setArena",[200,201,202,203,204],"\u003Cdiv class=\"football-game\">","\u003Cdiv class=\"football-game-container\">","\u003Cdiv class=\"football-game-div\">","\u003Cdiv class=\"goal-target\">","\u003Cimg src=\""]