{"id":14954972,"url":"https://github.com/michaeluno/admin-page-framework","last_synced_at":"2025-04-13T04:59:39.261Z","repository":{"id":6942885,"uuid":"8194553","full_name":"michaeluno/admin-page-framework","owner":"michaeluno","description":"Facilitates WordPress plugin and theme development.","archived":false,"fork":false,"pushed_at":"2023-06-20T13:32:02.000Z","size":31131,"stargazers_count":344,"open_issues_count":21,"forks_count":72,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-04-13T04:59:32.416Z","etag":null,"topics":["framework","php","wordpress","wordpress-development","wordpress-plugin","wordpress-plugin-development","wordpress-theme-development"],"latest_commit_sha":null,"homepage":"http://admin-page-framework.michaeluno.jp/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeluno.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":".github/contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-14T06:01:52.000Z","updated_at":"2025-03-06T19:41:36.000Z","dependencies_parsed_at":"2024-09-21T22:01:01.170Z","dependency_job_id":"018e2de0-8f6d-4d2e-a438-72d5dbd5df19","html_url":"https://github.com/michaeluno/admin-page-framework","commit_stats":{"total_commits":4897,"total_committers":13,"mean_commits":376.6923076923077,"dds":"0.12803757402491323","last_synced_commit":"117a95d28c3801d00305b0c5eec6fcb6a2eca3e2"},"previous_names":[],"tags_count":119,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeluno%2Fadmin-page-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeluno%2Fadmin-page-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeluno%2Fadmin-page-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeluno%2Fadmin-page-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeluno","download_url":"https://codeload.github.com/michaeluno/admin-page-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665756,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","php","wordpress","wordpress-development","wordpress-plugin","wordpress-plugin-development","wordpress-theme-development"],"created_at":"2024-09-24T13:10:19.252Z","updated_at":"2025-04-13T04:59:39.210Z","avatar_url":"https://github.com/michaeluno.png","language":"PHP","readme":"# [Admin Page Framework](http://wordpress.org/plugins/admin-page-framework/)\n\n## Welcome to Admin Page Framework GitHub Repository\n\n*Admin Page Framework* is an OOP based open source WordPress library that facilitates theme and plugin development. \n\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/michaeluno/admin-page-framework/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/michaeluno/admin-page-framework/?branch=master)\n[![Build Status](https://scrutinizer-ci.com/g/michaeluno/admin-page-framework/badges/build.png?b=master)](https://scrutinizer-ci.com/g/michaeluno/admin-page-framework/build-status/master)\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://lh6.googleusercontent.com/-U_29dZp26Yw/VCFc0cDPGSI/AAAAAAAABtM/0l9klA6JFcg/s0/built-in%2520field%2520types.png\" title=\"Admin Page Framework - Text, Password, and Textarea\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-U_29dZp26Yw/VCFc0cDPGSI/AAAAAAAABtM/0l9klA6JFcg/s600/built-in%2520field%2520types.png\" alt=\"Admin Page Framework - Text, Password, and Textarea\" /\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv style=\"margin:20px; float:left\"\u003e\n\t\u003ca href=\"https://lh4.googleusercontent.com/-EuQbXCx4HhI/VCFc441vgCI/AAAAAAAABuE/KeKVd3t5PSc/s0/selectors.png\" title=\"Admin Page Framework - Selectors\"\u003e\n\t\t\u003cimg src=\"https://lh4.googleusercontent.com/-EuQbXCx4HhI/VCFc441vgCI/AAAAAAAABuE/KeKVd3t5PSc/s144/selectors.png\" alt=\"Admin Page Framework - Selectors\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh6.googleusercontent.com/-LjEY_hZLGX0/VCFc4Kh4BRI/AAAAAAAABt4/2ZOt-J3LpgM/s0/files.png\" title=\"Admin Page Framework - Image, Media Library, and File Uploads\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-LjEY_hZLGX0/VCFc4Kh4BRI/AAAAAAAABt4/2ZOt-J3LpgM/s144/files.png\" alt=\"Admin Page Framework - Image, Media Library, and File Uploads\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh3.googleusercontent.com/-fbuQOuBSSJ0/VCFc0CTx3rI/AAAAAAAABtI/jYYMxH07T-Q/s0/checklist.png\" title=\"Admin Page Framework - Taxonomies and Post Types Checklist\"\u003e\n\t\t\u003cimg src=\"https://lh3.googleusercontent.com/-fbuQOuBSSJ0/VCFc0CTx3rI/AAAAAAAABtI/jYYMxH07T-Q/s144/checklist.png\" alt=\"Admin Page Framework - Taxonomies and Post Types Checklist\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh6.googleusercontent.com/-D2tssBl00fw/VCFc16XZ1CI/AAAAAAAABtY/uBBqQkWqG4w/s0/misc.png\" title=\"Admin Page Framework - Misc\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-D2tssBl00fw/VCFc16XZ1CI/AAAAAAAABtY/uBBqQkWqG4w/s144/misc.png\" alt=\"Admin Page Framework - Misc\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh5.googleusercontent.com/-gbd0VdjjKQQ/VCFc49JM_tI/AAAAAAAABuA/4FbHz_pMW2Y/s0/verification.png\" title=\"Admin Page Framework - Form Input Verification\"\u003e\n\t\t\u003cimg src=\"https://lh5.googleusercontent.com/-gbd0VdjjKQQ/VCFc49JM_tI/AAAAAAAABuA/4FbHz_pMW2Y/s144/verification.png\" alt=\"Admin Page Framework - Form Input Verification\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh6.googleusercontent.com/-cmgLpnx3iIA/UtDfHZdsxvI/AAAAAAAABfk/BklgC-MnqWY/s0/admin_page_framework_v3_export_%2526_import.png\" title=\"Admin Page Framework - Export and Import Options\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-cmgLpnx3iIA/UtDfHZdsxvI/AAAAAAAABfk/BklgC-MnqWY/s144/admin_page_framework_v3_export_%2526_import.png\" alt=\"Admin Page Framework - Export and Import Options\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh5.googleusercontent.com/-YujIDW7LMdU/UtDfGcrDjrI/AAAAAAAABfM/EMA4NF3WgYU/s0/admin_page_framework_help_pane.png\" title=\"Admin Page Framework - Contextual Help Pane\"\u003e\n\t\t\u003cimg src=\"https://lh5.googleusercontent.com/-YujIDW7LMdU/UtDfGcrDjrI/AAAAAAAABfM/EMA4NF3WgYU/s144/admin_page_framework_help_pane.png\" alt=\"Admin Page Framework - Contextual Help Pane\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh5.googleusercontent.com/-qYgg41nH2_s/VCFc2rSlOQI/AAAAAAAABtg/XQSLHSUX5yA/s0/meta_boxes.png\" title=\"Admin Page Framework - Custom Post Type and Meta Box\"\u003e\n\t\t\u003cimg src=\"https://lh5.googleusercontent.com/-qYgg41nH2_s/VCFc2rSlOQI/AAAAAAAABtg/XQSLHSUX5yA/s144/meta_boxes.png\" alt=\"Admin Page Framework - Custom Post Type and Meta Box\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh3.googleusercontent.com/-omMuKSVYLPw/VCFc3Kg1okI/AAAAAAAABto/e51rB0qvlC8/s0/page_metabox.png\" title=\"Admin Page Framework - Meta Boxes in Pages Added by the Framework\"\u003e\n\t\t\u003cimg src=\"https://lh3.googleusercontent.com/-omMuKSVYLPw/VCFc3Kg1okI/AAAAAAAABto/e51rB0qvlC8/s144/page_metabox.png\" alt=\"Admin Page Framework - Meta Boxes in Pages Added by the Framework\" /\u003e\n\t\u003c/a\u003e\t\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh6.googleusercontent.com/-FGum6Tjts9k/UtyrddRYdBI/AAAAAAAABhA/LvY_3wgkvyo/s0/form_fields_in_taxonomy_page.png\" title=\"Admin Page Framework - Form Fields in Taxonomy Page\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-FGum6Tjts9k/UtyrddRYdBI/AAAAAAAABhA/LvY_3wgkvyo/s144/form_fields_in_taxonomy_page.png\" alt=\"Admin Page Framework - Form Fields in Taxonomy Page\" /\u003e\n\t\u003c/a\u003e\t\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh3.googleusercontent.com/-g-JYTcEDTmQ/VCFc4dXs1_I/AAAAAAAABt8/occvS1fFTBM/s0/sections.png\" title=\"Admin Page Framework - Form Sections in Tabbed Boxes and Repeatable Option\"\u003e\n\t\t\u003cimg src=\"https://lh3.googleusercontent.com/-g-JYTcEDTmQ/VCFc4dXs1_I/AAAAAAAABt8/occvS1fFTBM/s144/sections.png\" alt=\"Admin Page Framework - Form Sections in Tabbed Boxes and Repeatable Option\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh6.googleusercontent.com/-S8C4xm8BALg/VCFczgOWr6I/AAAAAAAABtE/RTdJuwLOdpI/s0/autocomplete.png\" title=\"Admin Page Framework - Auto-complete Custom Field Type\"\u003e\n\t\t\u003cimg src=\"https://lh6.googleusercontent.com/-S8C4xm8BALg/VCFczgOWr6I/AAAAAAAABtE/RTdJuwLOdpI/s144/autocomplete.png\" alt=\"Admin Page Framework - Auto-complete Custom Field Type\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://lh5.googleusercontent.com/-LOY1iOGFSmY/VCMHVoQfwGI/AAAAAAAABuc/V9zdtpWvVbA/s0/widgets.png\" title=\"Admin Page Framework - Widget Form Fields\"\u003e\n\t\t\u003cimg src=\"https://lh5.googleusercontent.com/-LOY1iOGFSmY/VCMHVoQfwGI/AAAAAAAABuc/V9zdtpWvVbA/s144/widgets.png\" alt=\"Admin Page Framework - Widget Form Fields\" /\u003e\n\t\u003c/a\u003e        \n\u003c/div\u003e\n\n## Installation\n\nThere are mainly two ways to include the framework.\n\n- Use the framework loader plugin. \n    - The latest development version can be found [here](https://github.com/michaeluno/admin-page-framework/branches). \n    - The latest stable version can be downloaded [here](http://downloads.wordpress.org/plugin/admin-page-framework.latest-stable.zip).\n\n- Use the generated framework files which can be downloaded via `Dashboard` -\u003e `Admin Page Framework` -\u003e `Tools` -\u003e `Generator`. \n\nFor more details, see the **Getting Started** (`Dashboard` -\u003e `Admin Page Framework` -\u003e `Help` -\u003e `Getting Started`) of the admin pages of the loader plugin.\n\n## Examples\n\n### Create a Page\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://lh5.googleusercontent.com/-v-XvdGmQH1k/Uty9YC3kqwI/AAAAAAAABhk/Ti2R_i6JbhU/s0/my_first_page.png\" title=\"Admin Page Framework - Getting Started\"\u003e\n\t\t\u003cimg src=\"https://lh5.googleusercontent.com/-v-XvdGmQH1k/Uty9YC3kqwI/AAAAAAAABhk/Ti2R_i6JbhU/s400/my_first_page.png\" alt=\"Admin Page Framework - Getting Started\" /\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n```PHP\n\u003c?php\n/* Plugin Name: Admin Page Framework - Getting Started */ \n\ninclude( dirname( __FILE__ ) . '/library/apf/admin-page-framework.php' );\n    \nclass APF extends AdminPageFramework {\n\n    public function setUp() {\n        \n        $this-\u003esetRootMenuPage( 'Settings' );    // where to belong\n        $this-\u003eaddSubMenuItem(\n            array(\n                'title'        =\u003e 'My First Page',\n                'page_slug'    =\u003e 'myfirstpage'\n            )\n        );\n            \n    }\n    \n    /**\n     * @callback        action      do_{page slug}\n     */\n    public function do_myfirstpage() {\n        ?\u003e\n        \u003ch3\u003eSay Something\u003c/h3\u003e\n        \u003cp\u003eThis is my first admin page!\u003c/p\u003e\n        \u003c?php   \n    }\n    \n}\nnew APF;\n```\n\n### Create a Form\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://lh6.googleusercontent.com/-T5_iUiJAlR8/Uty9YKlpkzI/AAAAAAAABhg/8mcpt6h_XHU/s0/my_first_form.png\" title=\"Admin Page Framework - My First Form\"\u003e\n        \u003cimg src=\"https://lh6.googleusercontent.com/-T5_iUiJAlR8/Uty9YKlpkzI/AAAAAAAABhg/8mcpt6h_XHU/s400/my_first_form.png\" alt=\"Admin Page Framework - My First Form\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n```PHP\n\u003c?php\n/* Plugin Name: Admin Page Framework - My First Form */ \n\ninclude( dirname( __FILE__ ) . '/library/apf/admin-page-framework.php' );\n    \nclass APF_MyFirstFrom extends AdminPageFramework {\n\n    public function setUp() {\n        \n        $this-\u003esetRootMenuPage( 'My Settings' );    // create a root page \n        $this-\u003eaddSubMenuItem(\n            array(\n                'title'        =\u003e 'My First Form',\n                'page_slug'    =\u003e 'my_first_form'\n            )\n        );\n                    \n    }\n    \n    /**\n     * The pre-defined callback method that is triggered when the page loads.\n     * @callback        action      load_{page slug}\n     */     \n    public function load_my_first_form( $oAdminPage ) {\n    \n        $this-\u003eaddSettingSections(    \n            array(\n                'section_id'    =\u003e 'my_first_text_section',    \n                'page_slug'     =\u003e 'my_first_form',    \n            )\n        );\n        \n        $this-\u003eaddSettingFields(\n            array(    \n                'field_id'      =\u003e 'text',\n                'section_id'    =\u003e 'my_first_text_section',\n                'title'         =\u003e 'Text',\n                'type'          =\u003e 'text',\n                'default'       =\u003e 123456,\n            ),\n            array(    \n                'field_id'      =\u003e 'submit',\n                'type'          =\u003e 'submit',\n            )\n        );\n        \n    }\n    \n}\nnew APF_MyFirstFrom;\n```\n\nSee more code examples in `Dashboard` -\u003e `AdminPageFramework` -\u003e `Help` -\u003e `Examples`.\n\n## Resources\n\n- [Online documentation](http://admin-page-framework.michaeluno.jp/en/v3/)\n- [Online tutorials](http://admin-page-framework.michaeluno.jp/tutorials/)\n- [FAQ](https://wordpress.org/plugins/admin-page-framework/faq/)\n- [Change Log](https://wordpress.org/plugins/admin-page-framework/#developers)\n\n### Getting Helped\n\n- [Support Forum](http://wordpress.org/support/plugin/admin-page-framework)\n\n## Contributions\n\nAnyone is welcome to contribute to *Admin Page Framework*. There are various ways you can contribute:\n\n- Report [bugs](https://github.com/michaeluno/admin-page-framework/issues).\n- Post ideas on [enhancements](https://github.com/michaeluno/admin-page-framework/issues?direction=desc\u0026labels=Enhancement\u0026page=1\u0026sort=created\u0026state=open).\n- Send us a Pull Request with your bug fixes and/or new features.\n- Write a [custom field type](http://admin-page-framework.michaeluno.jp/en/v3/package-AdminPageFramework.FieldType.html). \n- Write [test cases](test/readme.md).\n- Improve the [documentation](https://github.com/michaeluno/admin-page-framework/blob/master/documentation_guideline.md).\n- Tweak the styling of the framework page elements.\n- Translate the language files in the [language](https://github.com/michaeluno/admin-page-framework/tree/master/language) directory to your native language.\n- Possibly more.\n\n### Browser Compatibility\n\nInternet Explorer 9 or below is not supported.\n\nThe framework uses\n- CSS `flex`.\n \n### Framework Core Development\n\nSee the [contribution guideline](./.gituhb/contributing.md).\n\n### Supporting Future Development \n\nIf you like the library, please rate and review it in the [WordPress Plugin Directory](http://wordpress.org/support/view/plugin-reviews/admin-page-framework?filter=5). Also donation would be greatly appreciated. Thank you!\n\n[![Donate with PayPal](https://www.paypal.com/en_US/i/btn/x-click-but04.gif)](http://en.michaeluno.jp/donate) \n\n## Copyright and License\n\n### Admin Page Framework (Framework Files)\n[MIT license](development/LICENSE.txt)\n\n### Admin Page Framework - Loader (WordPress Plugin) \n[GPL v2](./LICENSE.txt)\n","funding_links":["https://www.paypal.com/en_US/i/btn/x-click-but04.gif"],"categories":["Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeluno%2Fadmin-page-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeluno%2Fadmin-page-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeluno%2Fadmin-page-framework/lists"}