在我的忍者形态中,我有必填字段。但如果用户未登录,我想更改该必需属性。我看过忍者组织的纪录片,并按照他们说的做了尝试。这是我尝试过的。
function my_filter_function( $data, $field_id ){
if(!is_user_logged_in()){
if( $field_id == 135){
$data[\'req\'] =0;
}
return $data;
}
}
add_filter( \'ninja_forms_field\', \'my_filter_function\', 10, 2 );
但它不起作用。当我提交表格时,它表明该字段是必填字段。
最合适的回答,由SO网友:shuvroMithun 整理而成
最后我找到了一种方法来实现这一点,问题的解决方案是调用update字段设置函数
function ninja_forms_change_required_field(){
add_action( \'ninja_forms_before_pre_process\', \'ninja_forms_code\' );
}
add_action( \'init\', \'ninja_forms_change_required_field\' );
function ninja_forms_code(){
global $ninja_forms_processing;
if(!is_user_logged_in()){
$data[\'req\'] = \'0\';
$ninja_forms_processing->update_field_settings(135, $data);
}
}
如果需要字段,则
$data[\'req\'] = \'1\'