将自定义字段添加到 Ninja Forms
Adding custom fields to Ninja Forms
我正在尝试向 Ninja Forms (v. 3.3) 添加自定义字段。在任何地方都找不到完整的示例。
仔细研究代码,过滤器 'ninja_forms_register_fields' 似乎可以解决问题,但我无法在任何地方将其设置为 运行。
这里是 create/add 新 Ninja Forms 字段类型的方法(请记住,此代码应移至单独的 WordPress 插件中)。
首先我们需要连接到ninja_forms_register_fields:
add_filter( 'ninja_forms_register_fields', array($this, 'register_fields'));
然后定义方法register_fields(插件内部class):
public function register_fields($actions) {
$actions['blah'] = new NF_CustomPlugin_Fields_Blah();
return $actions;
}
最后一步是声明 NF_CustomPlugin_Fields_Blah class:
class NF_CustomPlugin_Fields_Blah extends NF_Fields_Textbox {
protected $_name = 'blah';
protected $_section = 'common'; // section in backend
protected $_type = 'textbox'; // field type
protected $_templates = 'textbox'; // template; it's possible to create custom field templates
public function __construct() {
parent::__construct();
$this->_nicename = __( 'Blah Field', 'ninja-forms' );
}
}
我正在尝试向 Ninja Forms (v. 3.3) 添加自定义字段。在任何地方都找不到完整的示例。
仔细研究代码,过滤器 'ninja_forms_register_fields' 似乎可以解决问题,但我无法在任何地方将其设置为 运行。
这里是 create/add 新 Ninja Forms 字段类型的方法(请记住,此代码应移至单独的 WordPress 插件中)。
首先我们需要连接到ninja_forms_register_fields:
add_filter( 'ninja_forms_register_fields', array($this, 'register_fields'));
然后定义方法register_fields(插件内部class):
public function register_fields($actions) {
$actions['blah'] = new NF_CustomPlugin_Fields_Blah();
return $actions;
}
最后一步是声明 NF_CustomPlugin_Fields_Blah class:
class NF_CustomPlugin_Fields_Blah extends NF_Fields_Textbox {
protected $_name = 'blah';
protected $_section = 'common'; // section in backend
protected $_type = 'textbox'; // field type
protected $_templates = 'textbox'; // template; it's possible to create custom field templates
public function __construct() {
parent::__construct();
$this->_nicename = __( 'Blah Field', 'ninja-forms' );
}
}