【发布时间】:2019-08-30 09:34:29
【问题描述】:
我想为选择字段显示自定义消息。我正在为自定义消息使用插件“Contact form 7 Custom validation”,但它不适用于选择字段。是否有一个钩子可以仅针对选择字段修改我的消息,因为我的验证消息的其余部分都很好。
更新:
我有以下字段:
<div class="form-half">
<label for="state" class="visuallyhidden">state</label>[select* state id:state first_as_label "State" "Alabama" "Alaska" "American Samoa" "Arizona" "Arkansas" "California" "Colorado" "Connecticut" "Delaware" "District of Columbia" "Florida" "Georgia" "Guam" "Hawaii" "Idaho" "Illinois" "Indiana" "Iowa" "Kansas" "Kentucky" "Louisiana" "Maine" "Maryland" "Massachusetts" "Michigan" "Minnesota" "Mississippi" "Missouri" "Montana" "Nebraska" "Nevada" "New Hampshire" "New Jersey" "New Mexico" "New York" "North Carolina" "North Dakota" "Northern Marianas Islands" "Ohio" "Oklahoma" "Oregon" "Pennsylvania" "Puerto Rico" "Rhode Island" "South Carolina" "South Dakota" "Tennessee" "Texas" "Utah" "Vermont" "Virginia" "Virgin Islands" "Washington" "West Virginia" "Wisconsin" "Wyoming"]</div>
我已经使用了以下钩子来做到这一点,但不起作用:
add_filter( 'wpcf7_validate_select*', 'custom_select_validation_filter', 20, 2 );
function custom_select_validation_filter( $result, $tag ) {
if ( 'state' == $tag->name ) {
echo $test_custom_select = $_POST['state'];
if ( empty( $test_custom_select ) || $test_custom_select == 'State' ) {
// Example of result
$result->invalidate($tag, __( 'Please enter state name', 'CF7' ));
}
}
return $result;
}
但这不起作用。
【问题讨论】: