Piklist is the most powerful framework available for WordPress.
Easy for beginners... built for developers. Easily Build Fields, Forms, Settings, Widgets and More.
Piklist 2.0 is coming soon with full Gutenberg support. Until then, please use the Classic Editor plugin when using WordPress 5.0+.
Stay up to date with Piklist news →
Piklist is a rapid development framework for WordPress that will let you concentrate on the main focus of your plugin or theme, and let Piklist handle everything else.
Watch the Piklist presentation from WordCamp NYC →:
Piklist makes it easy to:
- Build Fields for Settings page, Widgets, Custom 发布类型, Custom 分类方法 and User Profiles with minimal code.
- Conditionally show fields (or their values), based on Post Status and/or User Role.
- Define Custom Post Statuses
- Relate Post-to-Posts.
- and more...
LEARN MORE
Customize everything in WordPress
- Post Types
- Taxonomies
- User Profiles
- 多媒体
- Settings
- Admin Pages
- Widgets
- 边栏
- “帮助”选项卡们
- Admin Notices
- Pointers
Better Custom Post Types
- Powerful Custom Post Types
- Relate Custom Post Types to each other.
- Add your own post statuses.
Codeless Meta Boxes
- Group fields in a meta box, by placing them all in one file.
- Add a 评论 block at the top of your file to define the meta box attributes
- Hide/Show based on the post status.
- Hide/Show based on the 用户s capability.
- Sort meta boxes with granular control.
- Lock the box, so users cannot move or hide them.
- Add meta box to a specific Page/Post ID.
Simple Widgets
- Create one file for your Widget settings, and one for your output... all done!
Powerful Fields
- ANY field or groups of fields can be a repeater.
- Validate and Sanitize any field.
Lots of field types (and more coming soon!)
- 文本
- textarea
- checkbox
- radio
- select
- post editor
- file upload
- image upload
- 隐藏
- html
- date chooser
- color picker
- add more
- HTML5
Choose a content type for your field (You can even mix-n-match on one form)
- post
- post_meta
- comment
- comment_meta
- term
- term_meta
- user
- user_meta
- media
- media_meta
Mix Field and Content types (i.e. Taxonomies as radio buttons)
- Hide/Show based on another form field.
- Hide/Show based on the post status.
- Hide/Show based on the users capability.
- Hide form fields, and just show field values
Getting Started with Piklist is Easy.
Read our getting started tutorial.
1.0.12
Release Date: December 20, 2021
- ENHANCED: Remove custom dashicons. Not needed anymore.
1.0.11
Release Date: December 17, 2020
- FIXED: PHP 7.4 notice for bool error
1.0.10
Release Date: September 9, 2020
- FIXED: PHP 7.4 notice for Dashboard / CPT meta boxes
1.0.9
Release Date: July 6, 2020
1.0.8
Release Date: May 20, 2020
- ENHANCED: Piklist "select" fields look better in newer versions of WordPress.
1.0.7
Release Date: April 23, 2020
1.0.6
Release Date: December 19, 2019
- FIXED: Removed Post Status notices on menu screen in WordPress 5.3
1.0.5
Release Date: November 29, 2019
- FIXED: Comment block titles are now translatable.
- FIXED: Posts now saves if no TinyMCE is found on the page. (e.g. when using WPBakery Visual Composer Page editor) (props @xeiter)
1.0.4
Release Date: June 15, 2019
- ENHANCED: Updated piklist::performance to check PHP version.
- ENHANCED: safe_mode removed
- ENHANCED: PHP 7.3 capability
- FIXED: changed &$query to $query in class-piklist-wordpress.php
1.0.3
Release Date: January 3, 2019
- ENHANCED: Do not show the "Published" post state on list tables.
1.0.2
Release Date: December 25, 2018
- FIXED: Show which page is set to front page on page list table.
- FIXED: If no active parts, don't show notice.
1.0.1
Release Date: November 6, 2018
- FIXED: when saving user data, check if $_GET['user_id'] is set before validating user.
- ENHANCED: Allow user with no role set to save
1.0
Release Date: November 5, 2018
- UPDATE: Change priority for piklist_revision::save_post to default.
0.11.4
Release Date: June 11, 2018
- FIXED: Uploading multiple images no longer produces a notice.
0.11.3
Release Date: June 4, 2018
- FIXED: Multiple images can be removed normally. (props @alasdaircr)
0.11.2
Release Date: May 24, 2018
- ENHANCED: Custom post statuses now default to "public" => true, for backwards compatibility.
0.11.1
Release Date: May 10, 2018
- FIXED: Conditions work as expected.
0.11
Release Date: May 9, 2018
- ENHANCED: Better support for PHP 5.3+.
0.10
Release Date: May 9, 2018
- ENHANCED: major code refactor.
- ENHANCED: PHP 7.2 support.
- ENHANCED: relate query now supports to WordPress 4.7 standards.
- ENHANCED: changed revision meta to a single SQL update.
- ENHANCED: added support for blacklisted revision keys.
- ENHANCED: CSS updates for WordPress 4.9.
- ENHANCED: Tooltip on plugins page.
- ENHANCED: set default capability on admin pages.
- ENHANCED: set admin_menu priority to default.
- ENHANCED: update piklist_admin::$piklist_dependent to store dependent theme and plugins, so we can show them on the About page.
- ENHANCED: if Piklist is locked, guide the user to the about page which shows them the dependent plugins and themes.
- ENHANCED: allow filtering of $field_list_types and $field_alias. (props @manutiedra)
- ENHANCED: added triggers to the file field javascript.
- ENHANCED: add Packagist support. (props @lucalbert)
- ENHANCED: "ID" parameter in the Piklist comment blocks extended to cover other parts in addition to a page.
- ENHANCED: "Slug" parameter added for targeting of an individual page, term, user, help, media, notice or pointer. With user, the "slug" is the "user ID".
- ENHANCED: update add-ons settings page with better description and link to docs.
- ENHANCED: set default $validate_object = post.
- ENHANCED: add piklist-field-type-{type} class to all field inputs.
- ENHANCED: Use WordPress defaults for register_post_status except 'show_in_admin_status_list (for backwards compatibility).
- ENHANCED: small updates to Piklist Demos.
- FIXED: index issue for non-Piklist metaboxes (props @donnamcmaster)
- FIXED: Updated the post_updated_messages_filter function to support CPT that are not publicly_queryable. (props @manutiedra)
- FIXED: Fix validation with add more fields if empty. (props @manutiedra)
- FIXED: Non-Piklist custom fields are missing from the dropdown in standard custom fields metabox.
Code was saving the numeric array key, not the actual meta_key.
IMPORTANT: users effected with this bug will need to delete the "piklist_post_meta_keys" field in their _options table.
- FIXED: End() error on post and settings pages with Workflow tabs.
- FIXED: empty shortcut editor when on Windows server.
- FIXED: warnings due to shortcodes with no attributes or content.
0.9.9.14
Release Date: December 13, 2017
- UPDATE: CSS updates for WordPress 4.9
0.9.9.13
Release Date: April 19, 2017
- ENHANCED: Major code refactor
0.9.9.12
Release Date: April 5, 2017
- FIXED: class-piklist-form.php error (Thanks @ssuess)
- FIXED: Notice in piklist::sort_by_args_order()
0.9.9.11
Release Date: April 1, 2017
- FIXED: Workflow tabs work as expected in settings.
- FIXED: post_submitbox_misc_actions hook is missing the post object (thanks @fatmedia).
- FIXED: get_currentuserinfo() should be replaced with wp_get_current_user() (thanks @alordiel).
- FIXED: Deleting items from add-more reindex properly.
0.9.9.10
- ENHANCED: Allow filtering of post_type_labels() with new filter: piklist_post_type_labels_locale
- ENHANCED: Allow filtering of taxonomy_labels() with new filter: piklist_taxonomy_labels_locale
- ENHANCED: Workflows now support ID and TEMPLATE comment block parameters.
- ENHANCED: Help sections now support post type, taxonomy, post status, template, post format, setting, and taxonomy parameters
- FIXED: Advanced add-more groups now save properly.
- FIXED: Widget validation.
- FIXED: Colorpicker and datepicker work as expected in Widgets.
- FIXED: tinyMCE bug where nested editable within a non editable element would cause scroll on focus in Chrome. Props @rcantor
- FIXED: taxonomy scope in select field not reflecting stored choice
0.9.9.9
Release Date: June 20, 2016
- ENHANCED: added support for PHP 5.2.
- FIXED: Deprecate PHP4 style constructor in universal widget class.
- FIXED: brought back piklist_admin::responsive_admin().
- FIXED: duplicate name in widget class.
0.9.9.8
- ENHANCED: Major updates to Extend.
- ENHANCED: Major updates to Relationships.
- FIXED: Removed editor_height default from editor field.
0.9.9.6
- FIX: Sanitization plays nice with Validation.
- ENHANCED: CSS updates.
0.9.9.5
- ENHANCED: Added default editor style and removed theme style from non post content editors.
- ENHANCED: Tightened save method to POST only.
- FIX: Slashes issue with text fields.
- FIX: Typo in setting name, shortocde_ui.
- FIX: Lots of little fixes.
0.9.9.4
- Requires WordPress v4.0.
- NEW: WorkFlow Bar!
- NEW: Save individual Options, not just serialized Settings.
- NEW: Validation rule: 'disabled', to make a field disabled.
- NEW: unset_value option for checkboxes.
- ENHANCED: Removed old responsive_admin() function.
- ENHANCED: Dragging the editor in add mores is easier.
- ENHANCED: Validation and Sanitization updates.
- FIX: Validation and Sanitiztion in multi-level grouped add mores.
0.9.9.3
- ENHANCED: File field and Editor highlight better when required.
- FIX: Settings tabs are now backwards compatible with the new Workflow system.
- FIX: Piklist allows posts to save normally. Thanks Mehdi for letting us test on your site!
- FIX: Validation rules within groups work as expected.
- FIX: Validating certain fields within widgets work as expected.
- FIX: Editors in add mores now retain content markup.
- FIX: Multiple User Roles are now saving.
0.9.9.2
- FIXED: Updates run normally.
- FIXED: Set args_order to 0 if not set.
0.9.9.1
- Fixes
- ENHANCED: Allow client-side and server-side validation to work together.
0.9.9
- Tons of fixes and enhancements.
- Started Unit Testing.
- NEW: "Post Format" parameter for comment blocks.
- ENHANCED: Changed how assigning sections to WorkFlows. Now they work like all other Piklist features.
- ENHANCED: Data structure updated.
- ENHANCED: Easily display post statuses in a select field. Demos updated as well.
- ENHANCED: OPTGROUP support for Selects.
- FIXED: Sometimes getimagesize can't get the image size.
0.9.5w
- NEW: Custom Post Statuses work in quick edit.
- NEW: admin-login-message partial.
- ENHANCED: URL Validation update. Props @jasontheadams
0.9.5v
- FIX: Security update for admin notices. @props joostdevalk
0.9.5u
- ENHANCED: 'limit' validation rule now support character and word count.
- ENHANCED: Multiple templates can be assigned in comment block. Props @jasontheadams
- ENHANCED: Revisions work as expected.
- CHANGE: 'anchor' parameter is now 'anchor_id'
- CHANGE: 'type' parameter is now 'post_type'
- CHANGE: 'name' parameter is now 'title'
- CHANGE: 'box' parameter is now 'meta_box'
- CHANGE: 'ID' parameter for class-piklist-dashboard is now 'Extend'
0.9.5t
0.9.5s
- NEW: 'list_table_filter' parameter adds taxonomy filter to list table.
- NEW: 'meta_box_filter' parameter adds taxonomy filter to meta boxes.
0.9.5o
0.9.5n
- ENHANCED: Added easier pulling of Add more data. Props @jasontheadams
- ENHANCED: 'multiple' => false works with Media Uploader.
- ENHANCED: 'sortable' => true/false works with Add mores.
0.9.5m
- FIXED: Non-image files can be removed from file upload field.
- ENHANCED: Updates to group fields.
- Lots and lots of bug fixes.
0.9.5l
- ENHANCED: Query enhancements
0.9.5k
- ENHANCED: Add custom classes to widgets.
- ENHANCED: Admin notices can now dismiss.
- ENHANCED: Allow 'page' parameter to work on individual Workflow tabs.
- FIXED: Notice on conditional scripts.
- FIXED: Replaced wpdb::esc_like() for like_escape() in WordPress 4.0+
0.9.5j
- ENHANCED: WordPress Meta Query.
- ENHANCED: Allow HTML5 inputs.
- ENHANCED: Allow Piklist to set default Validation and Sanitization rules for fields.
- ENHANCED: Add new Workflow position 'permalink', to support WordPress 4.1 'edit_form_before_permalink' hook.
- ENHANCED: Demos are 100% localized.
0.9.5i
- ENHANCED: Allow targeting of Default page template
0.9.5h
- ENHANCED: Allow for different sizes of images previews.
- FIXED: Updated editors
- FIXED: Better Javascript wrapping
- FIXED: Drag and drop issues work as expected.
- FIXED: Editors work nicely in grouped add mores.
- FIXED: Tool tips look great in the main post column and the side sortables.
- Lots of bug fixes.
0.9.5g
- NEW: Admin notices
- FIXED: show_admin_column works for User Taxonomies
- FIXED: Front end forms work with media_handle_sideload()
- Lots of bug fixes.
0.9.5e
- NEW: username_exists validation rule
- NEW: email_exists validation rule
0.9.5
- NEW: Front end forms!
- ENHANCED: WordPress 4.0 support.
0.9.4.15
- NEW: Admin notices
- FIXED: Notice on Piklist about page.
0.9.4.14
- ENHANCED: WordPress 4.0 support.
0.9.4.12
- FIXED: Duplicate "Settings Saved" messages are gone.
0.9.4.11
- FIXED: Broken link on About page.
0.9.4.10
- ENHANCED: CSS tweak for ul.piklist-tab-bar
0.9.4.9
0.9.4.8
0.9.4.7
- ENHANCED: Updated Widgets
0.9.4.6
- ENHANCED: Editor enhancement for group fields.
0.9.4.5
- FIXED: Added Taxonomy support for non-multiple fields.
0.9.4.4
- FIXED: Update to save_post action.
0.9.4.3
- FIXED: Post Relationships work as expected.
0.9.4.2
- FIXED: Radio buttons save properly in Settings.
0.9.4.1
- FIXED: Removed object_id from fields.
- FIXED: Language files load properly.
- FIXED: Locked notice works correctly on Multisite.
- ENHANCED: Field conditions support add mores.
- ENHANCED: Field conditions support serialize groups.
- ENHANCED: Field Columns switch to right margins.
- ENHANCED: Right Now widget css update.
0.9.4
- The most stable version of Piklist yet.
- Tons of performance updates.
- NEW: Field validation.
- NEW: Field sanitization.
- NEW: label_class attribute
- ENHANCED: Field conditions.
- ENHANCED: Faster, reengineered Widget system.
- ENHANCED: Piklist Widgets work better in Theme Customizer.
- ENHANCED: Filter everything by user role.
- ENHANCED: Tooltips match WordPress default themes.
- ENHANCED: index.php files are ignored in parts folders.
- FIXED: Quick edit buttons work properly.
- FIXED: Textarea values do not carry over in Add mores. Props Daniel Rampanelli
- FIXED: Preview button only shows for Public Post Types. Props Daniel Rampanelli
- FIXED: Adding fields to an already save Add more works properly. Props Daniel Rampanelli
- FIXED: Autosaves triggered by "Preview Changes". Props Daniel Rampanelli
- FIXED: Field attributes properly accept a zero value. Props @jasontheadams
- FIXED: piklist_empty_post_title filter now works as expected.
- Lots and lots and lots and lots of bug fixes.
0.9.3.5
- FIXED: Language files load properly.
- FIXED: Menu icon size no longer conflicts with other plugins.
0.9.3.4
- FIXED: Upgrade script works on older version of mysql.
0.9.3.3
- FIXED: Update to class-piklist-user
0.9.3.2
- FIXED: User registrations emails no longer conflict with other plugins (i.e. BuddyPress)
- FIXED: check_update function respects new plugins.
- FIXED: notice from post_row_actions function.
0.9.3.1
- FIXED: Addmore field bug fix.
0.9.3
- FIXED: Checkboxes save properly.
0.9.2
- NEW: Multiselect field.
- NEW DEMO: Post Editor in an Add more.
- IMPROVED: Add mores are better than ever.
- FIXED: Dashboard widgets drag-and-drop properly.
- FIXED: Fixed Notices.
0.9.1
- FIXED: Add mores can now contain empty values.
- FIXED: body_class function works better with Jetpack.
0.9.0
- NEW: Add Tooltip Help to any Piklist field.
- NEW: post_states parameter.
- NEW: Set page icon on Taxonomy and User Taxonomy pages.
- NEW: Dashicons now included.
- NEW: Piklist grid css.
- IMPROVED: Comma-seperated list of Taxonomies can be passed in a term file.
- IMPROVED: Comma-separated lists of Post Types or Taxonomies in meta-boxes or term files can contain spaces.
- IMPROVED: Use $page_icon instead of $icon.
- IMPROVED: Use $menu_icon instead of $icon_url.
- FIXED: Editing text boxes for Add mores work in Firefox.
- FIXED: Dashboard widget layout saves properly.
- FIXED: $attributes in Editor field should be $options.
- FIXED: Custom Post Statuses retain order when used with multiple CPTs.
0.8.0b6
- IMPROVED: Multiple Author Roles are turned off by default.
- IMPROVED: Add mores are now even more awesome.
- FIXED: Checkboxes.
- FIXED: Tab Spacing.
- FIXED: User Taxonomy data saves properly.
- FIXED: WorkFlow tabs save properly for Post Types.
- FIXED: Widgets work better than ever.
- FIXED: Lots of bugs squashed!
0.8.0b5
- NEW: Comment Field.
- IMPROVED: Assets for Javascript fields only load when the field is in use.
- FIXED: Windows Path Error.
- FIXED: Image upload for Widgets.
0.8.0b4
- NEW: Replace standard Right Now widget on WordPress dashboard.
- FIXED: REALLY fixed the Javascript error that broke visual editor and Help Tabs.
- FIXED: Widgets
0.8.0b3
- FIXED: Javascript error that broke visual editor and Help Tabs.
0.8.0b2
- NEW: Upload File field!
- Bug Fixes
0.8.0b1
- Now requires WordPress 3.4+.
- NEW: Infinite Add mores!
- NEW: Relationship field!
- NEW: Multiple User Roles!
- NEW: User Taxonomies!
- NEW: Work Flow!
- NEW: Help Tabs!
- NEW: Dashboard Widgets!
- NEW: Required option for fields!
- New: Remove Meta Box around custom fields!
- NEW: Show meta fields by Page Template. Props @James_Mc.
- NEW: hide_screen_options parameter when registering Post Types.
- NEW: admin_body_class parameter when registering Post Types.
- NEW: Remove Save functionality for settings page.
- NEW: Change Save button text.
- NEW: French translation by Daniel Ménard.
- NEW: Slovak translation by Branco.
- IMPROVED: Extended admin_body_class for Post Types and Taxonomies.
- IMPROVED: Better display for settings page for both Tabs/no Tabs, and single line.
- IMPROVED: Add or auto generate Form ID.
- IMPROVED: Stops Webkit browsers from auto-filling user fields in the admin.
- IMPROVED: More localized strings. Props @Daniel Ménard.
- FIXED: HTTPS works properly.
- FIXED: Comment field no longer duplicates comments.
- FIXED: Administrators can edit other users meta.
- FIXED: HTML escaped neccessary fields.
- FIXED: Better garbage collection.
- FIXED: CSS for h2.nav-tab-wrapper.
0.7.2
- NEW: Plugin updates...the Piklist way.
- FIXED: Long Post Status lists now wrap nicely.
0.7.1
- FIXED: Add mores save correctly when adding/deleting rows.
- FIXED: Media meta saves without errors.
- FIXED: Settings save properly when using multiple tabs.
- FIXED: Logged-in user can now save user meta for any user.
- FIXED: Fixed typo in self:: function in class-piklist-taxonomy. Props @James_Mc
- FIXED: Empty Time and Date fields no longer return "false".
0.7.0
- NEW: Disable Piklist Deactivation.
- NEW: Customize the "Enter Title Here" text in Post Type Titles.
- FIXED: Error when saving Media meta. Props @James_Mc
- FIXED: Removed legacy less_styles() function.
- FIXED: Added Text Domain to all localized strings.
0.6.9
- FIXED: Metaboxes jQuery conflict fixed for Firefox.
0.6.8
- IMPROVED: Better upgrade notice in admin.
- IMPROVED: Nicer jQuery animation for certain fields.
- IMPROVED: Update uninstall.php to remove Piklist tables.
- FIXED: Conditionals now working.
0.6.7
- Our most significant update since the initial release:
- NEW: Add Taxonomy Meta!
- NEW: Add User Meta!
- NEW: Add Media Meta!
- NEW: New super powers for tax_query and meta_query!
- NEW: Add meta box to a specific Page/Post ID. Props @kattagami and @James_Mc
- FIXED: Network Activated plugins did not work properly.
- FIXED: In function post_type_labels, view_item should be singularize. Props @James_Mc
- FIXED: Allow creating of field-less meta boxes. Props @James_Mc
- FIXED: Register Taxonomies before Custom Post Types. Props @Daniel Ménard
0.6.6
- NEW: uninstall.php file added.
- NEW: Language folder added.
- FIXED: Stopped some installs from receiving upgrade notices.
- FIXED: Settings Tabs in submenu's didn't always work.
0.6.5
- IMPROVED: Taxonomy save function.
- NEW: Auto-columns for checkboxes and radio buttons.
- NEW: Asset loader supports admin.
0.6.4
- NEW: Save button can be removed for individual Settings pages.
- NEW: Show file uploads in Piklist Demos.
- FIXED: Publish box fixes.
- FIXED: Taxonomy save/edit.
- FIXED: 3.3.2 support.
0.6.3
- NEW: New field! Upload files.
- NEW: Added new Piklist XML class.
- NEW: Updated Piklist get_terms function.
- NEW: Removed ability to run any shortcode in a widget. Moved to WordPress-Helpers plugin.
- FIXED: notice issues.
0.6.2
- FIXED: Publish box wasn't always publishing.
- FIXED: Fixed settings issues with multisite.
- FIXED: Grouped fields were not laying out properly.
0.6.1
- FIXED: Group fields stying
0.6.0
- NEW: Field names and ID's are now prefixed on frontend.
- FIXED: Published posts revert to draft on save.
- FIXED: Tabbed Settings page were not saving.
0.5.9
- NEW: Allow multiple nested fields.
- NEW: Implemented GET Field value function.
- FIXED: add more fields.
- FIXED: Conditonal fields.
- FIXED: Auto update fields.
- FIXED: issue with plugin folders alphabetically higher than "piklist".
- FIXED: path issue on Windows server.
0.5.8
- NEW: Implemented GET Field value function.Advanced Search capabilities function.
0.5.7
- FIXED: Publish box set to Priority:Core, so meta boxes can be added before it.
0.5.6
- IMPROVED: Forced Publish Meta Box to always be at top right.
- IMPROVED: Added has_archive to register_custom_post_types function.
- FIXED: PHP Notice issues.
- FIXED: Added rule to flush permalinks when registering a new post type if needed.
- FIXED: default post title fallback.
- FIXED: Taxonomy scope bug on show value.
- FIXED: bug with Post-to-Post relationships.
0.5.5
- FIXED: Child theme support.
- FIXED: bug with frontend forms.
0.5.4
- NEW: Added support to register a plugin with Piklist by using the Plugin Type comment.
- IMPROVED: Updated fields so that post_meta is the default scope for meta-boxes.
- FIXED: Meta Box Sort for non-ordered meta boxes.
- FIXED: Updated Theme Path.
0.5.3
- IMPROVED: Meta Boxes now respect new theme folder structure.
- IMPROVED: Global meta boxes now work on default post types.
0.5.2
- FIXED: Conditional Tag for Style Loading.
- FIXED: Add-On Registration.
0.5.1
- IMPROVED: Updated Status Ranges.
- FIXED: Directory Parse Bug.
0.5.0