我已经为一个插件成功地完成了以下工作,该插件在管理屏幕上使用了几个可视化编辑器(只需要其中一些编辑器)。
创建编辑器时,添加一个插件独有的类,并指示此编辑器中需要内容将函数挂接到“the\\u editor”此函数将检查编辑器的标记是否包含自定义类。如果是,则添加所需的属性我可以使用
textarea[required]:invalid
如果在该字段为空的情况下提交表单,则表单会生成错误(尽管到目前为止我只在Safari中进行了测试)。
下面是示例代码(此代码取自一个更大的类)。首先,是构建编辑器的函数的摘录。
$addlClass = ($required) ? \'my-required-field\' : \'\';
$settings = array(
\'media_buttons\' => false,
\'textarea_name\' => $fieldName,
\'editor_class\' => $addlClass
);
wp_editor($cleanFld, $fieldId, $settings);
然后,我的钩子:
add_action(\'the_editor\', array($this, \'CheckIfEditorFieldIsRequired\'));
最后,该功能:
public function CheckIfEditorFieldIsRequired($editorMarkup)
{
if (stripos($editorMarkup, \'my-required-field\') !== false) {
$editorMarkup = str_replace(\'<textarea\', \'<textarea required\', $editorMarkup);
}
return $editorMarkup;
}