內容簡介
相容性
此 ACF 欄位類型相容於:
* ACF 5
* ACF 6
這是 Advanced Custom Fields (ACF) 5 或 6 的附加外掛程式。如果未安裝且啟用 ACF,則此外掛程式將無法運作。如果重複項欄位不可用,則此外掛程式可能會以有限的能力運作。
有沒有需要給客戶一種編輯文字出現方式的方法,而不希望提供完整的所見即所得 (WYSIWYG) 編輯器?需要介於 WYSYWIG 和文本或文本區域欄位之間的東西,可以根據需要進行配置,以擁有您需要的功能嗎?
此 ACF5 的附加外掛程式將 MediumEditor 作為 ACF 欄位添加。每個欄位實例均可配置,並且每個欄位實例都有其自己的設置。支援 MediumEditor 中的許多選項,包括使用 MediumButton 創建自定義按鈕。使用配置設置或過濾器,也可以更改 MediumEditor 主題。這裡介紹了一些可用選項。要獲取有關 MediumEditor 和 MediumButton 的更多信息,請參閱所提供鏈接中的這些庫的描述
有關詳細信息,請參閱
其他注意事項 和
屏幕截圖
Medium Editor 需要您的幫助!此外掛程式取決於 Medium Editor。這是支持此 ACF 附加外掛程式的 JavaScript 軟件包。我不維護此軟件包。此外掛僅是其 ACF 實現。 Medium Editor 正在尋求貢獻者。如果沒有人維護和改進它,Medium Editor 可能會消失,如果發生這種情況,此外掛程式也不再可能運作。
Github 存儲庫
此外掛程式也在 GitHub 上
https://github.com/Hube2/acf-medium-editor
欄位設置
以下是欄位的解釋,不包括那些應該是自我解釋的欄位。
按鈕:這些是包含在 MediumEditor 中的按鈕。
選擇要在每個編輯器實例中包含的按鈕。
自定義按鈕:這是我建立此外掛程式的主要原因。此欄位支援使用 MediumButton 添加自定義按鈕。
請注意,如果任何主要欄位(名稱、標籤、HTML 標記)為空,則會忽略整個按鈕。
名稱:這是按鈕的名稱,將在實例化 MediumButton 物件時使用。
按鈕名稱必須唯一,且不能與 MediumEditor 中已包含的按鈕之一相同。如果這也包含在內,則與標準按鈕名稱相同的按鈕不會覆蓋該按鈕。我不知道在名稱中使用自定義字符的影響。請報告任何錯誤,我將研究添加用於清理字符或尋找其他解決方案的內容。
標籤:這是將出現在按鈕列中的標籤。此欄位允許 HTML。
請確保它是有效的 HTML (我不驗證您輸入的 HTML)。無效的標記可能導致意料之外的錯誤。
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
Compatibility
This ACF field type is compatible with:
* ACF 5
* ACF 6
This is an add on plugin for Advanced Custom Fields (ACF) 5 or 6. This plugin will not work if ACF is not installed and active. This plugin may work in a limited capacity if the repeater field is not avilable.
Ever needed to give a client a way to edit the appearence of text without wanting to give them a full blown WYSIWYG editor? Need something less than a WYSYWIG but more than a text or textarea field that you can configure the way you need it to work with the features you need it to have?
This add on for ACF5 adds MediumEditor as an ACF field.
Each field instance is configurable, and each field instance has its own settings. Many of the options
available in MediumEditor are supported, including the creation of custom buttons using MediumButton. It is also possible using either a configuration
setting or a filter to alter the MediumEditor Theme. Some of the available options are covered below.
For more information on MediumEditor and MediumButton, see the description of these libaries at the links provided.
For more information see
Other Notes and
Screenshots
Medium Editor needs your help!. This plugin depends Medium Editor which is the JavaScript package that powers this ACF Add On. I do not maintain this package. This pluig is simply an implementation of it for ACF. Medium Editor is looking for contributors. Without people to help maintain and improve it Medium Editor could fade away and if that happens this plugin will also no longer be possible.
Github Repository
This plugin is also on GitHub
https://github.com/Hube2/acf-medium-editor
Field Settings
The following is an explanation of the fields, not including the ones that should be self explanatory.
Buttons: These are the buttons that are included in MediumEditor.
Select the buttons you want to include in each editor instance.
Custom Buttons: This is the main reason that I created this plugin. This field supports adding
custom buttons using MediumButton.
Please note that if any of the main fields (Name, Label, HTML Tag) are empty that the entire
button will be ignored.
Name: This is then name of the button and will be used when instaniating the MediumButton Object.
The button name must be unique and cannot be one of the buttons already included in MediumEditor, a
button of the same name as one of the standard button in Medium Editor will not override that button
if it is also included. I do not know what the effects of custom characters in the name will be.
Please report any bugs and I will look into adding something to clean up characters or find some other work-around for any that cause errors.
Label: This is the label that will appear in the button bar. This field allows HTML.
Please make sure it is valid html (I do not validate the html you enter). Invalid markup will probably
break the button bar or the entire admin. MediumButton also supports using icons for buttons.
If you want to use icons in your buttons then it is your responsibility to make sure the icon font set is
available for use in the admin of your site.
HTML Tag: Enter the html tag that will be inserted by this button. Only non-empty html tags are allowed.
Most valid HTML tags are supported. If an invalid HTML tag is entered then the button will be ignored.
I’m not sure at this time what effect some of the tags will have in the editor. I haven’t tried them all
if you run into issues let me know and I’ll need to make a decision on wheter to try to fix it or remove
the tag(s) from the allowed list.
The currently supported tags are: abbr, acronym, address, article, asside, b,
bdi, bdo, blockquote, button, caption, cite, code, del, details, dfn,
div, em, footer, h1, h2, h3, h4, h5, h6, header,
i, ins, main, mark, meta, p, pre, q, s, samp, section, small, span,
strong, sub, sup, summary, time, u, var, wbr
Attributes: Add attributes to the html tag. Attibute names must be valid (they must
begin with a letter and contain only letter, numbers, underscores and dashes. Attribute
values must not contain double quotes (“) any attributes that do not conform to these
rules will be ignored. Please note that beyond this, attribute names and values are not
validated. I do not know what effect invalid entries will have on your admin. Like other
values, if you find something that causes an issue, open one and I’ll see what needs to be done.
Other MediumEditor Options: This is a selection of other
Core Options available for
MediumEditor with the exception of allowBreakInSingleLineInput (see below). Please
see the MediumEditor documentation for information on each of the other options. Selecting
an option will set that option’s value to true, unselecting the value will set it to false.
allowBreakInSingleLineInput: This is an option added specifically for use with WP.
If you set disableReturn on then the medium editor acts like a single line input field. Setting
allowBreakInSingleLineInput allows editors to manually type in
tags into these
single line fields to create line breaks.
Medium Editor Theme
MediumEditor fields will use the WordPress theme created specifically for the this plugin unless you change it.
You can alter the theme used for all MediumEditor fields, this is not something that you can apply to only
some fields. You can change the theme on your site in one of two ways:
1) wp-config.php
Add the following code to your wp-cofig.php file
define('MEDIUM_EDITOR_THEME', 'beagle');
2) filter
Add the following code to your functions.php file or wherever you would add such a filter
add_filter('medium-editor-theme', 'my_medium_editor_theme_function');
function my_medium_editor_theme_function($theme) {
$theme = 'beagle';
return $theme;
}
Theme name in the above code is one of the following themes currently supported by MediumEditor:
beagle, bootstrap, default, flat, mani, roman, tim
For more information see MediumEditor and
MediumButton
Custom Editor Styles
The styles used in the medium editor for elementa is inherited from WP. If you want to override these styles
create a file named “medium-editor-syle.css” in your theme folder. If this file exists is will be
automatcially enqueued on all pages where ACF fields appear.
Add Custom Buttons in Code
This filter is applied to the custom buttons before they are validated as having all the correct
requirements that are given when creating a custom button in the field settings for a Medium Editor Field.
Hooks
acf/medium-editor-field/custom-buttons – filter for every field
acf/medium-editor-field/custom-buttons/name={$field_name} – filter for specific field based on it’s name
acf/medium-editor-field/custom-buttons/key={$field_key} – filter for specific field based on it’s key
Parameters
$buttons – an array of button options
$field – an array containing all the fields settings for the field being loaded
// functions.php
function my_custom_buttons($buttons, $field) {
$buttons[] = array(
‘name’ => ‘red’,
‘label’ => ‘Red”‘,
‘attributes’ => array(
‘name’ => ‘style’,
‘value’ => ‘color: #F00;’
)
);
return $buttons;
}
add_filter(‘acf/medium-editor-field/custom-buttons’, ‘my_custom_buttons’, 10, 2);
Filter Buttons
This filter is applied to the list of buttons that will be shown. This list will contain the “name”
of each standard button as well as the “name” of each custom button that has been set up for the field.
Please note that only valid button names can be used here. See medium editor’s list of available
buttons.
Hooks
acf/medium-editor-field/buttons – filter for every field
acf/medium-editor-field/buttons/name={$field_name} – filter for specific field based on it’s name
acf/medium-editor-field/buttons/key={$field_key} – filter for specific field based on it’s key
Parameters
$buttons – an array of button options
$field – an array containing all the fields settings for the field being loaded
// functions.php
function my_custom_buttons($buttons, $field) {
// add underline button to all medium editor fields
// set both the index and the value of the array element
if (!isset($buttons[‘underline’])) {
$buttons[‘underline’] = ‘underline’;
}
// unset strikethrough if it is set
if (isset($buttons[‘strikethrough’])) {
unset($buttons[‘strikethrough’]);
}
return $buttons;
}
add_filter(‘acf/medium-editor-field/buttons’, ‘my_buttons’, 10, 2);
