Advanced Custom Fieldsに独自のバリデーションをつけたいと思ってます。
バリデーションの内容は、更新の際に、特定の二つのフィールドのどちらにも入力がないと更新できないというものです。
以下のようなコードをfunction.phpに記載して試したのですが、結果は二つのフィールドに入力してもしなくても、どんなときでもバリデーションにひっかかってしまうようになりました。
//ACF function my_acf_validate_value( $valid, $value, $field, $input ){ if( !$valid ) { return $valid; } $value_1 = $_POST['acf']['species1']; $value_2 = $_POST['acf']['species2']; if (empty($value_1) && empty($value_2)) { $valid = 'Please complete at least one of the fields'; } return $valid; } add_filter('acf/validate_value/name=species1', 'my_acf_validate_value', 10, 4); add_filter('acf/validate_value/name=species2', 'my_acf_validate_value', 10, 4);
上記コードのどこが間違えているのか、見つけることができません。どなたかお分かりになる方おられますでしょうか。
回答1件
あなたの回答
tips
プレビュー