No momento, você pode criar o seu Nome para exibição como quiser, podendo até mesmo se passar por um administrador. É possível tornar o nome para exibição exclusivo?
13
Tanto quanto sei, tudo o que você pode fazer é filtrar o nome de exibição pre_user_display_name
e verificar se ele já existe. Infelizmente, WP_User_Query
não há suporte para consultas por display_name
isso, também precisamos adicionar à WHERE
cláusula via pre_user_query
. Além disso, não há uma maneira elegante de pensar em lidar com o caso em que o display_name
já existe além de não retornar nada, pois não sabemos através do filtro a que usuário esse potencial nome de exibição está associado. ou talvez eu esteja cansado e perdendo algo óbvio! Enfim, aqui está um teste rápido que eu criei:
class wpa82239_display_name {
private $display_name;
public function __construct(){
add_filter( 'pre_user_display_name', array( $this, 'display_name_filter' ) );
}
public function display_name_filter( $display_name ){
$this->display_name = $display_name;
add_action( 'pre_user_query', array( $this, 'user_query_filter' ) );
$args = array(
'number' => 1,
'fields' => 'ID'
);
$user_search = new WP_User_Query( $args );
remove_action( 'pre_user_query', array( $this, 'user_query_filter' ) );
if( 0 == $user_search->total_users )
return $display_name;
return null;
}
public function user_query_filter( $query ){
global $wpdb;
$query->query_where .= $wpdb->prepare(
" AND $wpdb->users.display_name = %s",
$this->display_name
);
}
}
$wpa82239_display_name = new wpa82239_display_name();
É bastante sujo, mas faz o trabalho, basta colocá-lo no seu tema functions.php em um único site ou em um arquivo functions.php dentro da pasta mu-plugins em um multisite.
O script também examinará os usuários existentes (se o seu site já tiver muitos) e quaisquer nomes de exibição não exclusivos serão atualizados e substituídos pelo nome de usuário.
Sei que isso não é totalmente ideal, mas quaisquer sugestões para lidar com usuários existentes ou melhorias são sempre bem-vindas.
fonte
Tente o seguinte:
Link: http://bappi-d-great.com/unique-display-name-and-nickname-in-wordpress/
fonte