• Access & Security 95
  • Administration 171
  • Advertisement 92
  • Audio & Video 66
  • Author & Content 99
  • Comments 96
  • Communication 110
  • Communities & Forums 84
  • Development 47
  • E-Commerce 76
  • Email Management 53
  • Events & Calendars 80
  • Language 25
  • Map & Weather 44
  • Migration & Conversion 28
  • Miscellaneous 254
  • Mobile 15
  • Photos 143
  • Plugins 260
  • SEO & Site Speed 118
  • Social 186
  • Theme Enhancement 169

  • Add this plugin to a List

    You need to be logged in to add this plugin to your list.

    Admin Page Framework

    Add to List

    Reduce the Time Spent for Plugin and Theme Development

    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.

    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.

    Create Essential Page and Form Components for Your Users

    • Top-level Page, Sub Pages, and In-page Tabs – where your users will access to operate your plugin or theme.
    • Forms – to let your users store their options.
    • Custom Post Types – and the custom columns in the post listing table.
    • Custom Taxonomies and Fields – store options associated with a taxonomy in the taxonomy definition page.
    • Meta Boxes and Fields – store meta data associated with posts of set post types. Also meta boxes can be added to the pages created with the framework.
    • Widgets and Fields – display modular outputs based on the user’s settings in the front end.
    • Network Admin Pages and Forms – create admin pages in the newtork admin area of WordPress multi-sites.

    Construct Simple Yet Complex Setting Forms

    • Section Tabs – form sections can be displayed in a tabbed box.
    • Collapsible Sections – form sections can be collapsed and expanded.
    • Repeatable Sections and Fields – dynamically add/remove form sections and fields.
    • Sortable Sections and Fields – drag and drop form sections and fields to change the order.
    • Nested Sections and Fields – nest sections and fields to construct complex forms.
    • Import and Export Options – buttons that the user can import and export settings by uploading and downloading text files.
    • Reset Button – let your users to initialize the saved options.
    • Validation and Error Messages – 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.
    • Contextual Help Pane – help information can be added to the contextual help pane that appears at the top right of each screen.
    • Custom Field Types – 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.
    • Contact Form – receive emails of user feedback and issue reports sent via the contact form embedded in an admin page.
    • Tooltips – add a small pop-up box beside section and field title for the users to read about the option.

    Produce a Series of Products with the Framework Extensibility

    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.

    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.

    Built-in Field Types

    • text – a normal field to enter text input.
    • password – a masked text input field.
    • textarea – a text input field with multiple lines. It supports TinyMCE rich text editor.
    • radio – a set of radio buttons that lets the user pick an option.
    • checkbox – a check box that lets the user enable/disable an item.
    • select – a drop-down list that lest the user pick one or more item(s) from a list.
    • hidden – a hidden field that will be useful to insert invisible values.
    • file – a file uploader that lets the user upload files.
    • image – a custom text field with the image uploader script that lets the user set an image URL.
    • media – a custom text field with the media uploader script that lets the user set a file URL.
    • color – a custom text field with the color picker script.
    • submit – a submit button that lets the user send the form.
    • export – a custom submit field that lets the user export the stored data.
    • import – a custom combination field of the file and the submit fields that let the user import data.
    • posttype – a set of check-lists of taxonomies enabled on the site in a tabbed box.
    • taxonomy – check-lists of taxonomies enabled on the site in a tabbed box.
    • size – a combination field of the text and the select fields that let the user set sizes with a selectable unit.
    • section_title – a text field placed in the section title to let the user name the section.
    • system – displays the site system information.
    • inline_mixed – consists of inline elements of fields with different field types.

    Bundled Custom Field Types

    With custom field types, you can create more detailed customized field outputs. The demo component includes the following example custom field types.

    • sample – a sample custom field type with a JavaScript script.
    • github – displays GitHub buttons.
    • path – lets the user select file paths on the server.
    • toggle – lets the user toggle a switch button.
    • no_ui_slider – lets the user set values between ranges with a slider.
    • select2 – lets the user select items from a predefined list which cam be populated with AJAX.
    • post_type_taxonomy – lets the user select taxonomy terms of selected post types.

    If you want a field type that are not listed here, you can check the field type pack or request a new one in the forum.

    Getting Started

    To get started, go to Dashboard -> Admin Page Framework -> About -> Getting Started.


    Activate the demo pages to see the possible features of the framework. To activate it, go to Dashboard -> Admin Page Framework -> Add Ons -> Demo.


    Notes: this framework does not do anything by itself. If you are not a developer, you do not need this.

    Use Unique Page Slug

    The framework internally uses the add_submenu_page() 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.

    This means if you choose a very simple page slug such as about for your plugin/theme’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.

    To avoid this, make sure to use a unique page slug. One way to do that is to add a prefix like apf_about.

    Use the files generated with the component generator

    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.

    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 AdminPageFramework so just change it to something like MyPlugin_AdminPageFramework.

    Go to Dashboard -> Admin Page Framework -> Tools -> Generator. Set the prefix in the option field and download the files.

    If you do not modify the framework class names, you are supposed to extend the AdminPageFramework factory class.

    class MyAdminPage extends AdminPageFramework {

    When you modify the framework class names, make sure you extend the class with the modified name.

    class MyAdminPage extends MyPlugin_AdminPageFramework {

    For more detailed instruction, go to Dashboard -> Admin Page Framework -> About -> Getting Started.

    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.

    Change Framework’s System Messages

    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.

    If you want to change it to something else, modify the oMsg object. It has the aMessages public property array holding all the messages that the framework uses.

    Get comfortable with the ‘attributes’ array argument

    In each field definition array, you can set the attributes arguments which defines the HTML attributes of the field so that you can modify the output of the field by passing attribute values.

    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.

    For example,

        'field_id'      => 'interval',
        'title'         => __( 'Interval', 'task-scheduler' ),
        'type'          => 'number',
        'attributes'    => array(
            'min'   => 0,
            'step'  => 1,
            'max'   => 24,

    In addition, you can change the attributes of the following container elements by setting their key and passing a nested attribute array.

    • fieldrow – the td tag element containing the field output.
    • fieldset – the fieldset tag element containing the field output.
    • fields – the div tag element containing the sub-fields and the main field.
    • field – the div tag element containing each field.

    This submit button will float right.

        'field_id'          => 'submit',
        'type'              => 'submit',
        'save'              => false,
        'value'             => __( 'Save', 'task-scheduler' ),
        'label_min_width'   => 0,
        'attributes'        => array(
            'field' => array(
                'style' => 'float:right; clear:none; display: inline;',

    For meta box and widget form fields (as they have slightly different styling than generic admin pages),

        'field_id'          => 'submit_in_meta_box',
        'type'              => 'submit',
        'save'              => false,
        'show_title_column' => false,
        'label_min_width'   => 0,
        'attributes'        => array(
            'field' => array(
                'style' => 'float:right; width:auto;',

    Change Preview Image Size of the ‘image’ Field Type

    To specify a custom size to the preview element of the image field type, set an attribute array like the below, where 300px is the max width.

        'field_id'      => 'my_image_field_id',
        'title'         => __( 'Image', 'admin-page-framework-demo' ),
        'type'          => 'image',
        'attributes'    => array(
            'preview' => array(
                'style' => 'max-width: 200px;',

    Display items of ‘radio’ field type one per line

    To display radio button items one per line, set the label_min_width to 100%.

        'field_id'          => 'my_radio_field_id',
        'title'             => __( 'Radio Button', 'admin-page-framework-demo' ),
        'type'              => 'radio',
        'label_min_width'   => '100%',
        'label'             => array(
            'a' => __( 'This is a.', 'admin-page-framework-demo' ),
            'b' => __( 'This is b.', 'admin-page-framework-demo' ),
            'c' => __( 'This is a.', 'admin-page-framework-demo' )c

    Set default field value

    To set the initial value of a field, use the default argument in the field definition array.

        'field_id'  => 'my_text_field_id',
        'title'     => __( 'My Text Input Field', 'admin-page-framework-demo' ),
        'type'      => 'text',
        '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.',

    Always display a particular value in a field

    The value 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.

        'field_id'  => 'my_text_field_id',
        'title'     => __( 'My Text Input Field', 'admin-page-framework-demo' ),
        'type'      => 'text',
        'value'     => 'This will be always set.',

    If it is a repeatable field, set values in numerically indexed sub-elements.

        'field_id'      => 'my_text_field_id',
        'title'         => __( 'My Text Input Field', 'admin-page-framework-demo' ),
        'type'          => 'text',
        'repeatable'    => true,
        'value'         => 'the first value',
            'value' => 'the second value',
            'value' => 'the third value',

    Alternately, you may use the options_{instantiated class name} filter to suppress the options so that setting the value argument is not necessary.
    See examples,,,

    Rate This Plugin

    Please Login to Rate this Plugin!




    0 Votes
    Not Rated Yet Stats

    Last Updated774 Days ago
    Published11 years ago

    Report Wrong Category!

    Do you think this Plugin belongs to another Category?

    What Category Should this Plugin belong to? *

    Reason *

    Create a Plugin List

    You need to be Logged in to Create a Plugin List.

    Submit A plugin

    You need to be logged in to submit a plugin.


    WPD is the unofficial online plugin directory of WordPress.

    An attempt has been made to list Only functional, active,efficient and up-to-date plugins.

    Categorized : Plugin are listed by category and subcategory based on functionality and uses. Here you can browse wordpress plugin from our neatly categorized plugin directory and sort the plugins by rating, votes, last updated and published and search plugins using tags.

    Search : Plugins can be searched by their functionality using multi-tag search and you can search plugins using their exact name although we are not ensuring Google like search accuracy.

    Create Plugin Lists : You will be able to create list of plugins and share them with Wordpress Community or you can keep them private and use them as a bookmarks.
    e.g. Plugins That I’ve Used on My Site, Best Event Management Plugins, Christmas Plugins etc.

    If you think certain awesome plugin is not in the directory then notify us through our Submit a Plugin page.

    Browsing the Plugin Directory

    Browse by Category

    In WPD, Plugins are categorized carefully. You can browse all the categories from the homepage or you can access the category lists from any page by clicking the button from the left of the website.

    Browse by Tags

    Each plugin listed in WPD is marked with useful tags. You can browse plugins by Tags from the All Tags page

    Searching in WPD

    Multi Tag Search

    You can search plugins using multiple tags. To perform a multi-tag search. Go to Homepage and then in the search field type any keywords or tags(comma separated) and then click on the search button. To search plugins from a selected category just select the category from the dropdown and type your tags.

    Searching a specific Plugin in WPD

    If you want to find a specific plugin in our directory, Go to Homepage and then select the "Search in Title" option. Then write the name of the plugin and click the search button to find the Plugin.

    Plugin Lists

    Whats a Plugin List

    Plugin Lists are user created lists of plugins. Any registered users can create Plugin Lists and share it with anyone or make it private.

    Why Create a plugin List?
    • Easy to keep track of your favourite and useful plugin.

    • Share list of plugins on blogs, social media or to a client.

    • Keep a track of what plugins you installed in which of your blogs by creating a list for each blog

    Creating a Plugin List

    To create a Plugin List, click the button from the left of the page; a popup box will appear. In the "List Name" field, put the name of the List. eg: Best Seo plugins for your site.
    In the Description field, put a few words describing the List.
    By default, lists are automatically published as public, which is visible to everyone. If you do not want others to see the List, select "Private" from the dropdown list. Then click the "Create List" button to create the list.

    Adding Plugins to your List

    To add a plugin to your List, go to a plugin page and click the "Add to List" button. A popup box will appear where you can select in which of your list you want to add this plugin. You can add a note if you want, this note will appear below the plugin in your list.
    P.S: You can only add plugins that are in our directory.

    Your Lists will appear in our "Plugin Lists" page when you set the list as "Public" and your list contains atleast 2 plugins.

    Editing your Lists

    When you are on your list page, notice there is a button on the top right corner of the page. Click it to edit the List Name and the List Description.

    Accessing All your Lists

    You can access all your Plugin lists by going to your profile and clicking the "Lists" tab.

    Removing your Lists

    You can remove your Plugin lists by going to your profile and clicking the "Lists" tab. on top right of each list click the button to remove the list completely.

    While tremendous effort has been put to keep this directory precise and complete, still errors and omissions are unavoidable and possible. We welcome any suggestions for corrections, deletions, and idea that might improve the overall experience.

    To submit a Feedback click the from the bottom right corner of the site.

    Brave Popup Builder
    Our Latest WordPress Plugin
    Create Awesome WordPress Popups with Intuitive visual Editor. Choose from hundreds of Presets. Create Beautiful Popups and convert more visitors to subscribers, clients and customers.
    This Popup was Built with this plugin.
    Marketing knowledge
    Upgrade your
    Leverage agile frameworks to provide a robust synopsis for high overviews.
    Register or log in to assess the record