Untitled
unknown
plain_text
3 years ago
4.3 kB
14
Indexable
function tiago_custom_user_register_fields()
{
?>
<p>
<label for="password"><?php _e('Senha:', 'mydomain');?></label>
<input type="password" name="password" id="password" required>
</p>
<p>
<label for="user_role"><?php _e('Escolha a sua função:', 'mydomain');?></label>
<select onchange="handleSelectionChange()"name="user_role" id="user_role" required placeholder="Selecione uma função...">
<option value="candidate"><?php _e('Candidato', 'mydomain');?></option>
<option value="employer"><?php _e('Empresa', 'mydomain');?></option>
</select>
</p>
<p id="ville1">
<label for="pays">Selecione o seu distrito:</label>
<select id="ville" name="ville" required>
<option value="">Selecione o seu distrito...</option>
<option value="Açores">Açores</option>
<option value="Aveiro">Aveiro</option>
<option value="Beja">Beja</option>
<option value="Braga">Braga</option>
<option value="Bragança">Bragança</option>
<option value="Castelo Branco">Castelo Branco</option>
<option value="Coimbra">Coimbra</option>
<option value="Évora">Évora</option>
<option value="Faro">Faro</option>
<option value="Guarda">Guarda</option>
<option value="Leiria">Leiria</option>
<option value="Lisboa">Lisboa</option>
<option value="Madeira">Madeira</option>
<option value="Portalegre">Portalegre</option>
<option value="Porto">Porto</option>
<option value="Santarém">Santarém</option>
<option value="Setúbal">Setúbal</option>
<option value="Viana do Castelo">Viana do Castelo</option>
<option value="Vila Real">Vila Real</option>
<option value="Viseu">Viseu</option>
</select>
</p>
<script>
// Récupère les éléments DOM nécessaires
const selectRole = document.getElementById('user_role');
const selectPays = document.getElementById('ville1');
// Cache le formulaire de sélection de pays par défaut
if (selectRole.value === 'candidate') {
// Si "Candidato" est sélectionné, affiche le formulaire de sélection de pays
selectPays.style.display = 'block';
} else {
// Sinon, cache le formulaire de sélection de pays
selectPays.style.display = 'none';
}
// Ajoute un écouteur d'événements sur le formulaire de sélection de rôle
function handleSelectionChange() {
const selectRole = document.getElementById('user_role');
const selectPays = document.getElementById('ville1');
if (selectRole.value === 'candidate') {
// Si "Candidato" est sélectionné, affiche le formulaire de sélection de pays
selectPays.style.display = 'block';
} else {
// Sinon, cache le formulaire de sélection de pays
selectPays.style.display = 'none';
}
}
</script>
<?php
}
// Ajoute la colonne "Ville" à la liste des utilisateurs
add_filter( 'manage_users_columns', 'ajouter_colonne_ville' );
function ajouter_colonne_ville( $columns ) {
$columns['ville'] = __( 'Ville', 'text-domain' );
return $columns;
}
// Affiche la valeur de la métadonnée "ville" dans la colonne "Ville"
add_action( 'manage_users_custom_column', 'afficher_ville', 10, 3 );
function afficher_ville( $value, $column_name, $user_id ) {
if ( 'ville' === $column_name ) {
$ville = get_user_meta( $user_id, 'ville', true );
return $ville;
}
return $value;
}
add_action('register_form', 'tiago_custom_user_register_fields');
function tiago_custom_user_register($user_id)
{
$ville = $_POST['ville'];
if (isset($_POST['user_role'])) {
$user_role = sanitize_text_field($_POST['user_role']);
if ($user_role === 'candidate' || $user_role === 'employer') {
add_user_meta($user_id, 'ville', $ville);
$user = new WP_User($user_id);
$user->set_role($user_role);
// Add a password field
if (isset($_POST['password']) && !empty($_POST['password'])) {
$password = sanitize_text_field($_POST['password']);
wp_set_password($password, $user_id);
}
}
}
}
add_action('user_register', 'tiago_custom_user_register');Editor is loading...