Kullanıcı adlarında hangi karakterlere izin verildiğine ve nedenine ilişkin belgeleri nerede bulabilirim?


11

Kullanıcı adlarında boşluk kullanabilmeyi çok isterim, ancak bu mümkün görünmüyor. Kodeksde veya hangi karakterlere izin verildiğini ve neden bu setle sınırlı olduğunu açıklayan bir yazı var mı, yoksa sadece alfalar mı ve emiyor mu?

Kullanıcıların boşluk içermeyen bir kullanıcı adından başka bir şey kullanmasını istiyorsam, tek gerçek seçeneğim, kullanıcıların e-posta adresleriyle giriş yapmalarına izin veren bir eklentidir, ancak yine de hesap oluştururken yalnızca alfa kullanıcı adı gerektirir mi?

Oh, ve ben bir WPMU / ağ sitesinde bulunuyorum.

Yanıtlar:


7

Kullanıcı adlarında boşluk kullanabilirsiniz, sorun değil. Wordpress.org'daki birçok kullanıcının kullanıcı adlarında boşluklar vardır.

Katı mod yalnızca şu karakterlere izin verir: a-z0-9<space>_.\-@

Ancak WP varsayılan olarak katı moda geçmez.

Şimdi, çoklu sitenin farklı kısıtlamaları vardır ve orada boşluklar olabilir. Bunun nedeni, kullanıcı adlarının çok siteli yüklemelerde bağımsız bloglar ve benzerleri oluşturmak için kullanılmasıdır.


Mantıklı, ancak çoklu yüklemem boşluklu @, veya kullanıcı oluşturmama izin vermiyor. adında. Formatting.php'ye baktım ve @ 'e izin verdiği görülüyor. ve boşluklar. Bu karakterleri neyin engellediğini bulmak için nerede arama yapmam gerektiği hakkında bir fikrim var mı? Sadece neden önlendiklerini bilmek istiyorum.
Purcell

3
Wp-include / ms-functions.php içindeki wpmu_validate_user_signup işlevindedir ve evet, yalnızca harflere ve sayılara izin verir. Kesinlikle çok bölgeli bir şey.
Otto

5

Bununla ilgili resmi bir belge olduğunu düşünmüyorum, ancak aşağıdaki sanitize_userişleve bir göz atabilirsiniz wp-includes/formatting.php:

function sanitize_user( $username, $strict = false ) {
    $raw_username = $username;
    $username = wp_strip_all_tags( $username );
    $username = remove_accents( $username );
    // Kill octets
    $username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
    $username = preg_replace( '/&.+?;/', '', $username ); // Kill entities

    // If strict, reduce to ASCII for max portability.
    if ( $strict )
        $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );

    $username = trim( $username );
    // Consolidate contiguous whitespace
    $username = preg_replace( '|\s+|', ' ', $username );

    return apply_filters( 'sanitize_user', $username, $raw_username, $strict );
}

Bu işleve bağlanabilir ve varsayılan davranışı kendi işlevinizle geçersiz kılabilirsiniz.


Formatting.php'yi işaret ettiğiniz için teşekkür ederiz. Çoklu yüklemem boşluk, @ veya olan kullanıcılar oluşturmama izin vermiyor. adında. Formatting.php'ye baktım ve @ 'e izin verdiği görülüyor. ve boşluklar. Bu karakterleri neyin engellediğini bulmak için nerede arama yapmam gerektiği hakkında bir fikrim var mı? Sadece neden önlendiklerini bilmek istiyorum.
Purcell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.