我有这个自定义 WP 用户注册表,其中必填字段之一是登录名。该表单可以通过 PHP 和 jQuery 两种方式进行处理,并且效果很好。我想做的是检查数据库以查看给定的登录名是否已存在。不必是动态的,也可以在提交时检查,我将运行另一个 PHP 脚本,用简单的代码说“checkUser.php”:从数据库给定名称中选择,如果存在则返回 true (我只是真的不知道是否应该扩展现有代码或寻找全新的方法。任何意见都会受到赞赏。函数.php:/** * Enqueue scripts / styles */public static function theme_enqueue_styles(){ wp_enqueue_script('xxxx', esc_url(get_stylesheet_directory_uri(XXXX) . '/assets/js/jqueryFile.js'), array( 'jquery' ), XXXX, true); wp_localize_script( 'xxxx', 'parajax', array( 'ajax_url' => admin_url('admin-ajax.php'), ) );}注册.php<p><label for="login_name">Login *</label><input type="text" name="login_name" id="login_name" value="<?phpif (isset($_POST['login_name']) && ! empty($_POST['xx-widget-nonce']) && wp_verify_nonce($nonce, 'xx-widget') ) { echo esc_html(sanitize_text_field(wp_unslash($_POST['login_name'])));}?>" required><?phpif (isset($_POST['login_name']) && esc_html(sanitize_text_field(wp_unslash($_POST['login_name']))) === '' ) { echo '<em class="f_req">' . esc_html__('This field is required', 'xxxx') . '.</em>';}?></p>jQuery 位:( function( $ ) { $( '#form' ).submit( function( e ) { e.preventDefault(); const form = $( this ); const postData = form.serialize(); $.ajax( { url: parajax.ajax_url, type: 'POST', data: postData + '&action=ajax_form', success( resp ) { $( form ).fadeOut( 100, function() { form.html( resp ).fadeIn(); } ); }, } ); } );}( jQuery ) );
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
所以Wordpress 自带了这个功能
https://developer.wordpress.org/reference/functions/username_exists/
在您的 register.php 中,您将检查发布的名称,如下所示:
$uname_exists = username_exists($_POST['login_name']);
if(!$uname_exists){
echo "username not existing yet";
}else{
echo "username already existsing!";
}
- 1 回答
- 0 关注
- 60 浏览
添加回答
举报
0/150
提交
取消