该插件尚未通过WordPress的最新3个主要版本进行测试。 当与较新版本的WordPress一起使用时,可能不再受到维护或支持,并且可能会存在兼容性问题。

Smart Custom Fields

描述

Smart Custom Fields is a simple plugin for managing custom fields.

Features

  • Field group loop support.
  • Meta data revision support.
  • Meta data preview support.

字段类型

  • 文字框
  • 文本区域
  • 单选
  • 选择
  • 多选
  • WYSIWYG editor
  • 影像
  • 档案
  • Related Posts
  • Related Terms
  • 颜色选择器
  • 日期选择器
  • 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.


<?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 );

view raw

gistfile1.php

hosted with ❤ by GitHub

GitHub

https://github.com/inc2734/smart-custom-fields/

译:

You can translate this plugin into your language by using GlotPress.

屏幕截图

  • Smart Custom Fields settings page.
  • Post edit page.

安装

  1. Upload Smart Custom Fields to the /wp-content/plugins/ directory
  2. 通过WordPress的“插件”菜单激活插件
  3. You can setting custom fields in ‘Smart Custom Fields’ page.

评价

2022 年 9 月 25 日
How can we display image field, like ACF: <?php $image = get_field(‘hero_image’); ?> ” alt=”<?php echo $image[‘alt’]; ?>” /> SCF: <?php echo SCF::get(‘img’)[0]; ?> isn’t work.
2018 年 11 月 18 日
Really simple and useful plugin! Recommend to use for fast development
阅读所有18条评价

贡献者及开发者

「Smart Custom Fields」插件已被翻译至 6 种本地化语言。 感谢所有译者为本插件所做的贡献。

帮助将「Smart Custom Fields」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

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

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

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.