Untitled
unknown
plain_text
a year ago
4.3 kB
5
Indexable
Never
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');