我有這個(gè)自定義 WP 用戶注冊(cè)表,其中必填字段之一是登錄名。該表單可以通過 PHP 和 jQuery 兩種方式進(jìn)行處理,并且效果很好。我想做的是檢查數(shù)據(jù)庫以查看給定的登錄名是否已存在。不必是動(dòng)態(tài)的,也可以在提交時(shí)檢查,我將運(yùn)行另一個(gè) PHP 腳本,用簡(jiǎn)單的代碼說“checkUser.php”:從數(shù)據(jù)庫給定名稱中選擇,如果存在則返回 true (我只是真的不知道是否應(yīng)該擴(kuò)展現(xiàn)有代碼或?qū)ふ胰碌姆椒?。任何意見都?huì)受到贊賞。函數(shù).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'), ) );}注冊(cè).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貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
所以Wordpress 自帶了這個(gè)功能
https://developer.wordpress.org/reference/functions/username_exists/
在您的 register.php 中,您將檢查發(fā)布的名稱,如下所示:
$uname_exists = username_exists($_POST['login_name']);
if(!$uname_exists){
echo "username not existing yet";
}else{
echo "username already existsing!";
}
- 1 回答
- 0 關(guān)注
- 94 瀏覽
添加回答
舉報(bào)
0/150
提交
取消