Description
Smart Custom Fields is a simple plugin for managing custom fields.
Features
- Field group loop support.
- Meta data revision support.
- Meta data preview support.
Field Types
- Text
- Textarea
- Radio
- Select
- Checkbox
- WYSIWYG editor
- Image
- File
- Related Posts
- Related Terms
- Color picker
- Date picker
- Datetime picker
- Boolean
- Message
How to get meta data ?
**The return value of each of the following methods is not sanitized. Please sanitize them if necessary. **
https://developer.wordpress.org/apis/security/escaping/
Post meta data
This method can get any meta data.
SCF::get( 'field-name' )
This method can get meta data of any group.
SCF::get( 'group-name' )
This method can get all meta data.
SCF::gets()
User meta data
This method can get any user meta data.
SCF::get_user_meta( $user_id, 'field-name' )
This method can get user meta data of any group.
SCF::get_user_meta( $user_id, 'group-name' )
This method can get all user meta data.
SCF::get_user_meta( $user_id )
Term meta data
This method can get any term meta data.
SCF::get_term_meta( $term_id, $taxonomy 'field-name' )
This method can get term meta data of any group.
SCF::get_term_meta( $term_id, $taxonomy, 'group-name' )
This method can get all term meta data.
SCF::get_term_meta( $term_id, $taxonomy )
Custom options page meta data
This method can get any custom options page meta data.
SCF::get_option_meta( $menu_slug, 'field-name' )
This method can get custom options page meta data of any group.
SCF::get_option_meta( $menu_slug, 'group-name' )
This method can get all custom options page meta data.
SCF::get_option_meta( $menu_slug )
Create custom options page
SCF::add_options_page( $page_title, $menu_title, $capability, $menu_slug, $icon_url = '', $position = null );
Register custom fields by the code.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* ใซในใฟใ ใใฃใผใซใใๅฎ็พฉ | |
* | |
* @param array $settings Smart_Custom_Fields_Setting ใชใใธใงใฏใใฎ้ ๅ | |
* @param string $type ๆ็จฟใฟใคใ or ใญใผใซ | |
* @param int $id ๆ็จฟID or ใฆใผใถใผID | |
* @param string $meta_type post | user | |
* @return array | |
*/ | |
function my_register_fields( $settings, $type, $id, $meta_type ) { | |
// SCF::add_setting( 'ใฆใใผใฏใชID', 'ใกใฟใใใฏในใฎใฟใคใใซ' ); | |
$Setting = SCF::add_setting( 'id-1', 'functions.php ใใ่ฟฝๅ ใใฎ1' ); | |
// $Setting->add_group( 'ใฆใใผใฏใชID', ็นฐใ่ฟใๅฏ่ฝใ, ใซในใฟใ ใใฃใผใซใใฎ้ ๅ ); | |
$Setting->add_group( 'group-name-1', false, array( | |
array( | |
'name' => 'field-1', | |
'label' => 'ใในใใใฃใผใซใ', | |
'type' => 'text', | |
), | |
array( | |
'name' => 'field-2', | |
'label' => 'ใในใใใฃใผใซ2', | |
'type' => 'text', | |
'default' => 2, | |
), | |
) ); | |
$settings[] = $Setting; | |
return $settings; | |
} | |
add_filter( 'smart-cf-register-fields', 'my_register_fields', 10, 4 ); |
GitHub
https://github.com/inc2734/smart-custom-fields/
Translators
- Japanese(ja) – JOTAKI Taisuke
You can translate this plugin into your language by using GlotPress.
Screenshots
Installation
- Upload
Smart Custom Fields
to the/wp-content/plugins/
directory - Activate the plugin through the โPluginsโ menu in WordPress
- You can setting custom fields in โSmart Custom Fieldsโ page.
Reviews
Contributors & Developers
“Smart Custom Fields” is open source software. The following people have contributed to this plugin.
Contributors“Smart Custom Fields” has been translated into 6 locales. Thank you to the translators for their contributions.
Translate “Smart Custom Fields” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
5.0.0
- WordPress 6.4 or higher is now required.
- PHP 7.4 or higher is now required.
- Security fix.
4.2.2
- Fix fatal error that occurred when using with bogo.
4.2.1
- Fix Worning/Fatal error on PHP7/8.
- Fix sanitize missing in the textarea field.
- Add list to the wysiwyg field.
= 4.1.6
* Some updates by @kengyu
* Add filter hook smart-cf-rest_api_post_type by @fuyuan9
4.1.5
- Fix ajax bug.
4.1.4
- WordPress 5.5 support
- Changed so that the reusable block post type is not displayed in the conditional judgment.
4.1.3
- Activate datetimepicker in repeat group #80
4.1.2
- Fix PHP syntax error.
4.1.0
- feat: Implement new field datetime picker
- feat: Add filters for related posts fields with name and post types
4.0.2
- Some updates by @robssanches
4.0.0
- Add message field. #64 (by @robssanches)
- Fix boolean field bug with
smart-cf-register-fields
filter hook. - Refactoring displaying options process of each fields.
3.1.7
- Fixing issues and adding support for the Brazilian Portuguese language #63 (by @robssanches)
- Spelling fixes in Readme #62 (by @garrett-eclipse)
3.1.6
- Set any on related post status. #60 (by @mayukojpn)
- Changed that file names can be known when uploading files. #58 (by @shodoi)
3.1.5
- Fixed a bug that disappeared layout when introducing description in relation field. #56 (by @mayukojpn)
- Update item delete button style in relation field.
- Fix bug when using smart-cf-register-fields hook.
3.1.4
- Remove no used codes.
- Fixed a bug that name disappears when opening / closing a field. #51 (by @yousan)
3.1.3
- Fix Selectable number bug
3.1.2
- Update readme.txt
3.1.1
- Fixed a bug of limit attribute at relation post types and taxonomies field.
3.1.0
- Added limit attribute at relation post types and taxonomies field.
3.0.1
- Fixed a bug that icon and display position of created option page are not reflected #47 (by @designhehe)
3.0.0
- Support multiple user roles.
- Update filter hook smart-cf-register-fields
2.3.0
- Support displayed thumbnail when value of file and image field is file url.
2.2.3
- Fix get_post_metadata hooked only preview #43 (by @wireframeslayout)
2.2.2
- Fix #37 #38
2.2.1
- Fix bug boolean field in repeatable group #39
- Fix bug datepicker and colorpicker in repeatable group #41
2.2.0
- Refactoring tests.
- Changed behavior of the default value of new field of the already saved object. Using the default value.
2.1.1
- Fix revision lines duplication (by @hanamura)
- Fixed a bug that relation fields don’t work on the options page.
2.1.0
- Support separated key and value in select, checkbox, radio.
- Added switching editor mode tab in wysiwyg field.
- Added instruction of field option.
2.0.0
- Refactoring
- Added meta data of custom options page.
1.7.0
- Added taxonomy relation field.
- Added textarea rows setting.
- Fixed a bug that tinymce js error when disabled rich editing.
1.6.7
- Removed console.log in a js file.
1.6.6
- Fixed a bug that warning is out when the array isn’t returned in the smart-cf-register-fields.
1.6.5
- Fixed a bug that multi value in the loop is broken.
- In setting screen, if the field is closed, display the field name.
1.6.4
- Fixed a bug that wysiwyg fields became tinymce default format when content editor mode is text.
- Change the comment in English.
1.6.3
- Fixed a bug that metadata that isn’t defined by Smart Custom Fields can’t get in preview.
1.6.2
- Fixed a bug that sometimes can’t get data when there are multiple Smart Custom Fields settings.
1.6.1
- Fixed a bug that custom field settings vanished when saved.
1.6.0
- Added search feature in the relation field.
- Changed when the object isn’t saved, default value is active.
- Remove filter hook smart-cf-is_use_default_when_not_saved.
- Fixed a bug that isn’t displayed meta data in preview when using custom fields settings with post id.
1.5.3
- Fixed a wysiwyg field bug.
1.5.2
- Fixed a wysiwyg field bug.
1.5.1
- Fixed a relation field bug.
1.5.0
- Update wysiwyg field.
1.4.0
- refactoring controllers.
- Add term custom fields.
- Add filter hook smart-cf-is_use_default_when_not_saved
- Changed to the default value is used if the value has not been saved. If you want to revert to the previous behavior, return false in smart-cf-is_use_default_when_not_saved.
1.3.2
- Add preview size setting in the image field.
- Add display direction setting in the checkbox and radio field.
- Changed the upload field that displayed uploaded to this post first.
1.3.1
- Fixed a wysiwyg field bug.
- Add boolean field.
1.3.0
- refactoring.
- Add profile custom fields.
- Add filter hook smart-cf-validate-get-value
- Add method SCF::get_user_meta( $user_id, $name = null )
- Fixed a revision bug.
- Fixed a bug that thumbnail is not displayed correctly in preview.
- Fixed a relation field bug.
- Changed return value of SCF::get with multiple data in loop.
- Changed revision screen format.
1.2.2
- Fixed a bug that can not get the correct data when the posts use post id filtering.
- Changed that original the_content filter does not apply to wysiwyg field.
- Add post_id attribute to smart-cf-register-fields.
1.2.1
- Fixed a bug that post id filtering incorrect.
1.2.0
- refactoring. A lot of changes in all.
- Renewed the Smart_Custom_Fields_Field_Base.
- Add filter hook smart-cf-register-fields. If You use this hook, you can define custom fields by the code.
- Add action hook smart-cf-before-editor-enqueue-scripts
- Add action hook smart-cf-after-editor-enqueue-scripts
- Add action hook smart-cf-before-settings-enqueue-scripts
- Add action hook smart-cf-after-settings-enqueue-scripts
1.1.3
- Change method SCF::get_field to SCF::get_value_by_field
- Change method SCF::get_sub_field to SCF::get_values_by_group
- Add method SCF::get_field
- Add method SCF::choices_eol_to_array
- remove method Smart_Custom_Fields_Field_Base::get_choices
1.1.2
- Add action hook smart-cf-fields-loaded
1.1.1
- UX Improvement of settings page.
1.1.0
- Add date picker field.
1.0.3
- Fixed a bug that can’t be get the correct data when specify a $post_id attribute to SCF::get(). For example SCF::get( โkeyโ, $post_id )
1.0.2
- Add color picker field.
- Add smart-cf-before-save-post action hook.
- Add smart-cf-after-save-post action hook.
- Add smart-cf-validate-save-post filter hook.
1.0.1
- Add display condition by post id.
- Fixed bug that is not displayed wysiwyg editor when there are not content editor.
- Textarea does not filter the_content filter in SCF::get() and SCF::gets().
1.0.0
- Initial release.