我们的插件中有一个自定义的帖子类型,现在我必须为用户提供一个元框,用户可以在其中输入纬度和经度。我希望它们是浮动的,我在客户端验证方面没有问题,但我不知道应该如何在wordpress中处理服务器端验证。
我以为有一些API可以实现这一点,但事实并非如此,所以我只是想知道如何处理save函数中的事情。
我们的插件中有一个自定义的帖子类型,现在我必须为用户提供一个元框,用户可以在其中输入纬度和经度。我希望它们是浮动的,我在客户端验证方面没有问题,但我不知道应该如何在wordpress中处理服务器端验证。
我以为有一些API可以实现这一点,但事实并非如此,所以我只是想知道如何处理save函数中的事情。
如果这不是一个一般的php问题,就不要问舒尔。。。
使用WP_Error
班
// http://php.net/manual/de/function.is-float.php
// http://php.net/manual/de/function.is-int.php
// inside your save_post/update_post hooks callback function,
// just type cast to float. You could also do a check if it contains non numeric chars
// and then simply return;
$check = ! is_float( $value ) OR ! is_int( $value ) ? new WP_Error( \'wrong value\', __(" I\'ve fallen and can\'t get up", \'YOUR_TEXTDOMAIN_STRING\' ), $value ) : $value;
在函数结束时,检查是否有错误。要提供有意义的错误消息,请使用jQuery:if ( is_wp_error( $check ) )
{
$code = $check->get_error_code();
$msg = $check->get_error_message();
// Maybe multiple? You\'ll have to loop through them
$msgs = $check->get_error_messages();
echo "<script type=\'text/javascript\'>
var error = \'<div id=\\"message\\" class=\\"updated below-h2\\"><p><strong>{$code}</strong> {$msg}</p></div>\';
// Append the error
jQuery( \'#icon-edit\' ).after( error );
</script>";
}
如何设置注释字段的验证规则?我更改了评论者姓名/电子邮件/主页onmouseover和onblur的值(我使用它而不是标签-因此如果字段为空,它会显示“您的电子邮件”、“您的主页”等)。问题是,在提交时,它会在主页字段中提交此文本(因为它没有验证,而不像电子邮件字段,如果您输入了除something@something.something).如何验证主页字段?