Admin Page Framework is an OOP based open source WordPress library that facilitates theme and plugin development.
There are mainly two ways to include the framework.
Use the framework loader plugin.
Use the generated framework files which can be downloaded via
Dashboard->Admin Page Framework->Tools->Generator.
For more details, see the Getting Started (Dashboard -> Admin Page Framework -> Help -> Getting Started) of the admin pages of the loader plugin.
<?php/* Plugin Name: Admin Page Framework - Getting Started */include( dirname( __FILE__ ) . '/library/apf/admin-page-framework.php' );
classAPFextends AdminPageFramework {
publicfunctionsetUp() {
$this->setRootMenuPage( 'Settings' ); // where to belong$this->addSubMenuItem(
array(
'title' => 'My First Page',
'page_slug' => 'myfirstpage'
)
);
}
/** * @callback action do_{page slug} */publicfunctiondo_myfirstpage() {
?>
<h3>Say Something</h3>
<p>This is my first admin page!</p>
<?php }
}
newAPF;<?php/* Plugin Name: Admin Page Framework - My First Form */include( dirname( __FILE__ ) . '/library/apf/admin-page-framework.php' );
class APF_MyFirstFrom extends AdminPageFramework {
publicfunctionsetUp() {
$this->setRootMenuPage( 'My Settings' ); // create a root page $this->addSubMenuItem(
array(
'title' => 'My First Form',
'page_slug' => 'my_first_form'
)
);
}
/** * The pre-defined callback method that is triggered when the page loads. * @callback action load_{page slug} */publicfunctionload_my_first_form( $oAdminPage ) {
$this->addSettingSections( array(
'section_id' => 'my_first_text_section', 'page_slug' => 'my_first_form', )
);
$this->addSettingFields(
array( 'field_id' => 'text',
'section_id' => 'my_first_text_section',
'title' => 'Text',
'type' => 'text',
'default' => 123456,
),
array( 'field_id' => 'submit',
'type' => 'submit',
)
);
}
}
newAPF_MyFirstFrom;See more code examples in Dashboard -> AdminPageFramework -> Help -> Examples.
Anyone is welcome to contribute to Admin Page Framework. There are various ways you can contribute:
- Report bugs.
- Post ideas on enhancements.
- Send us a Pull Request with your bug fixes and/or new features.
- Write a custom field type.
- Write test cases.
- Improve the documentation.
- Tweak the styling of the framework page elements.
- Translate the language files in the language directory to your native language.
- Possibly more.
Internet Explorer 9 or below is not supported.
The framework uses
- CSS
flex.
See the contribution guideline.
If you like the library, please rate and review it in the WordPress Plugin Directory. Also donation would be greatly appreciated. Thank you!


















