The built in custom fields in WordPress are great, but they do come with a big limitation: they only support plain text. To overcome this limitation I created the Simple Fields WordPress plugin.
With Simple Fields you can add for example textboxes, text areas, checkboxes, radio buttons, dropdowns, and file browser to the post admin area. These fields are all much easier to use for the user than regular custom fields.
All fields are grouped into logical groups called Field Groups. You can for example combine File + Name + Description into a an Attachments-group, that lets you add multiple files to your posts.
Use “repeatable” field groups to add many any amount of field groups to a single post (great for images or attachments!)
Simple Fields can be used on any post type, including custom post types.
The saved values are easy get in your theme or functions.php-file. Like this:
<?php // Get the saved value for a field called "video" $video_url = simple_fields_value('video'); ?>
Simple Fields comes bundled with a useful variation of fields. Note that any field can be added any number of times to a post using repeatable fields.
Fields types available in Simple Fields:
A simple text input to enter any kind of information.
A bigger area for inputing text. Even support WYSIWYG/TinyMCE-mode that makes it work like the regular content editor, so you can insert images, headlines, list, paragraphs and so on.
A simple checkbox to be able to select something on/off.
- Radio Buttons
Add multiple radiobuttons where a user can select one of the buttons. Useful for letting a user choose between multiple options.
Add multiple values to a dropdown box. User can select one or several items in the list. Useful for letting your users select one or severall things.
Select any file using the built in file/media browser in WordPress. Since it’s using the built in media * browser you can also upload new images/attachments to your posts. Using this field together with repeatable field groups = very powerful! 🙂
Select any post that exists in WordPress. Can be pages or any custom post type.
Select a taxonomy from a list of taxonomies.
- Taxonomy Term
Select a term from a taxonomy.
Show a color picker where the user can choose any color. The color can also be entered manually, if the user knows the hex value of the color.
- Date and Time
Chose a date and optionally time from a JQuery UI date and time picker.
Choose a user from the system.
See the field documentation for more details about the different fields.
Use Field Type Extensions to add your own field types
If you miss a field type in Simple Fields you can use Field Extensions to add more field types. These are fields that are created by other developers and shared with the Simple Fields community.
if you want to create your own field you can do that using the Extension API.
Often just a single field is not enough. Why limit yourself to just one image or one attachment? With Repeatable Fields you can add as many images, text fields, textareas, or any other field type, as you want to to a post. This is a very useful feature when you want to create for example image slideshows or pages with many file attachments.
Add attachments and image slideshows in a snap.
Also, the fields in a a repeatable field group are easily sorted using drag and drop.
Simple PHP functions to speed up your development
<?php simple_fields_value("field_slug"); simple_fields_values("field_slug_1, field_slug_2, field_slug_n"); $package_tours = simple_fields_get_post_group_values(get_the_id(), "Package", true, 2); ?>
Works with all post types
With Simple Fields you can add fields to both regular pages and posts and to any custom post type.
Different post types can use different field groups – actually you can even use different field groups even for same post type, on a post to post basis.
Unit testing to minimize risk of errors
A lot of the functionality in Simple Fields is tested using unit testing. Test cases exists for all the functions that involve getting field values from your posts. This way the risk of anything breaking on a site after upgrade in minimized.