我有这个自定义 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="<?php
if (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>
<?php
if (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 ) );
拉丁的传说