Ondersteuning » Algemeen WordPress » Gebruikersprofiel aanvullen

  • Is er een mogelijkheid om de gegevens van een gebruikersprofiel uit te breiden? Ik zou bij bestaande gebruikers ook graag adresgegevens, geboortedatum enz willen toevoegen. Bestaat daar een plugin of html-codes voor?

10 reacties aan het bekijken - 61 tot 70 (van in totaal 70)
  • Thread starter robromeijn

    (@robromeijn)

    add_action( 'personal_options_update', 'save_custom_user_data' );
    add_action( 'edit_user_profile_update', 'save_custom_user_data' );
    
    function save_custom_user_data( $user_id ) {
    	if ( ! current_user_can('edit_user', $user_id) ) {
    		return;
    	}
    	if (isset($_POST['info']) ) {
    		update_user_meta( $user_id, 'info', $_POST['info'] );
    	}
    	if (isset($_POST['telefoonnummer']) ) {
    		update_user_meta( $user_id, 'telefoonnummer', $_POST['telefoonnummer'] );
    	}
    	if (isset($_POST['woonplaats']) ) {
    		update_user_meta( $user_id, 'woonplaats', $_POST['woonplaats'] );
    	}
    	if (isset($_POST['geboortedatum']) ) {
    		update_user_meta( $user_id, 'geboortedatum', $_POST['geboortedatum'] );
    	}	
    	if (isset($_POST['adres']) ) {
    		update_user_meta( $user_id, 'adres', $_POST['adres'] );
    	}
    	if (isset($_POST['postcode']) ) {
    		update_user_meta( $user_id, 'postcode', $_POST['postcode'] );
    	}
    	if (isset($_POST['ondernemer']) ) {
    		update_user_meta( $user_id, 'ondernemer', $_POST['ondernemer'] );
    	}	
    }

    Bovenstaande is dus een samenvoeging van hetgeen je eerder aan mij stuurde

    Alvast bedankt voor je reactie!
    Groetjes, Rob

    Guido

    (@guido07111975)

    Dit lijkt prima, dan zal er iets in de HTML van je formulier fout zitten.
    Kun je die ook even delen? In mijn voorbeeld is dat de code van function display_custom_user_data( $user )

    Guido

    Thread starter robromeijn

    (@robromeijn)

    Hi Guido, bedankt voor je reactie. Je vraag om de HTML te delen kan ik zo 1,2,3, niet beantwoorden. Ik heb de pagina geinspecteerd, maar kan de code niet vinden. Maar wellicht zoek ik de gevraagde code op een verkeerde plek? Mijn kennis over codes en html is zeer gering namelijk.

    Guido

    (@guido07111975)

    Het gaat om de HTML die je als het goed is zelf gedupliceerd hebt mbv mijn voorbeeld in mijn eerder topic, zie deze link. Voorbeeld:

    <th><label>Telefoon</label></th>
    <td><input type="text" name="telefoon" value="<?php echo get_user_meta( $user->ID, 'telefoon', true ); ?>" class="regular-text" /></td>

    Guido

    Thread starter robromeijn

    (@robromeijn)

    Hi Guido, datgene dat ik gedupliceerd heb, had ik in het codeblok gezet, toch?
    Of bedoel je de code waarnaar het verwijst? Hieronder de hele code:

    add_action( 'show_user_profile', 'display_custom_user_data' );
    add_action( 'edit_user_profile', 'display_custom_user_data' );
    
    function display_custom_user_data( $user ) { ?>
    	<h3>Extra velden</h3>
    	<table class="form-table">
    	<tr>
    		<th><label>Extra info</label></th>
    		<td><input type="text" name="info" value="<?php echo get_user_meta( $user->ID, 'info', true ); ?>" class="regular-text" /></td>
    	</tr>
    	<tr>
    		<th><label>Geboortedatum</label></th>
    		<td><input type="text" name="geboortedatum"value="<?php echo get_user_meta( $user->ID, 'geboortedatum', true ); ?>" class="regular-text"  /></td>
    	</tr>
    <tr>
     		<th><label>Adres</label></th> 		
            <td><input type="text" value="<?php echo get_user_meta( $user->ID, 'adres', true ); ?>" class="regular-text"  /></td>
            </tr>
    	<tr>
     		<th><label>Postcode</label></th> 		
            <td><input type="text" value="<?php echo get_user_meta( $user->ID, 'postcode', true ); ?>" class="regular-text"  /></td>
            </tr>
    	<tr>
     		<th><label>Woonplaats</label></th> 		
            <td><input type="text" value="<?php echo get_user_meta( $user->ID, 'woonplaats', true ); ?>" class="regular-text" /></td>
            </tr>
        <tr>
     		<th><label>Telefoon</label></th>
    		<td><input type="text" name="telefoonnummer" value="<?php echo get_user_meta( $user->ID, 'telefoonnummer', true ); ?>" class="regular-text" /></td>
    <tr>
     		<th><label>ondernemer</label></th> 		
            <td><input type="text" value="<?php echo get_user_meta( $user->ID, 'ondernemer', true ); ?>" class="regular-text"  /></td>
            </tr>
    	
    	</tr>
    	</table>
    	<?php
    }
    
    add_action( 'personal_options_update', 'save_custom_user_data' );
    add_action( 'edit_user_profile_update', 'save_custom_user_data' );
    
    function save_custom_user_data( $user_id ) {
    	if ( ! current_user_can('edit_user', $user_id) ) {
    		return;
    	}
    	if (isset($_POST['info']) ) {
    		update_user_meta( $user_id, 'info', $_POST['info'] );
    	}
    	if (isset($_POST['telefoonnummer']) ) {
    		update_user_meta( $user_id, 'telefoonnummer', $_POST['telefoonnummer'] );
    	}
    	if (isset($_POST['woonplaats']) ) {
    		update_user_meta( $user_id, 'woonplaats', $_POST['woonplaats'] );
    	}
    	if (isset($_POST['geboortedatum']) ) {
    		update_user_meta( $user_id, 'geboortedatum', $_POST['geboortedatum'] );
    	}	
    	if (isset($_POST['adres']) ) {
    		update_user_meta( $user_id, 'adres', $_POST['adres'] );
    	}
    	if (isset($_POST['postcode']) ) {
    		update_user_meta( $user_id, 'postcode', $_POST['postcode'] );
    	}
    	if (isset($_POST['ondernemer']) ) {
    		update_user_meta( $user_id, 'ondernemer', $_POST['ondernemer'] );
    	}	
    }





    • Deze reactie is gewijzigd 1 jaar geleden door robromeijn.
    Guido

    (@guido07111975)

    Hoi,

    Je bent vergeten het name attribuut bij die velden toe te voegen.

    Guido

    Thread starter robromeijn

    (@robromeijn)

    ach ja, dat ik daar overheen keek…… super bedankt!!! Ik ga het aanpassen en dan zal het vast wel werken.
    groetjes, Rob

    Thread starter robromeijn

    (@robromeijn)

    Hi Guido,

    Dit werkt! Super! Nu heb ik nog 1 vraag….. als ik de gebruikersprofielen incl de extra velden wil exporteren, dan krijg ik alle velden in een excell behalve de info die in deze extra velden staan. Ik kan de extra velden niet aanvinken bij de export-opties. Ze staan er niet tussen. En dat zou nu juist zo handig zijn. Hoe krijg ik dat voor elkaar?

    • Deze reactie is gewijzigd 1 jaar geleden door robromeijn.
    Guido

    (@guido07111975)

    Hoi,

    Daarvoor kun je een plugin zoals Import and export users and customers gebruiken. Na installeren ga naar Gereedschap > Import and export users and customers > (tab) Export en voer bij Columns de kolommen in die je wenst te exporteren. Voorbeeld:

    user_login,user_email,first_name,last_name,info,telefoon

    Dit exporteert de kolommen gebruikersnaam, e-mailadres, voornaam, achternaam, (custom veld) info, (custom veld) telefoon.

    Guido

    Thread starter robromeijn

    (@robromeijn)

    Hallo Guido,

    dank voor je reactie. Ik heb de plugin Webtoffee import/export. Is die van jou in basis anders? Want bij mijn plugin worden zo’n 30 kolommen weergegeven (incl woocommerce costumers-data) maar de zelf toegevoegde ‘extra velden’ zoals geboortedatum en telefoon enz. komen in die lijst kolommen niet voor. Ik zal eens kijken of die van jou iets anders weergeeft. Wordt vervolgd.
    dank en groetjes,

    Rob

10 reacties aan het bekijken - 61 tot 70 (van in totaal 70)
  • Het onderwerp ‘Gebruikersprofiel aanvullen’ is gesloten voor nieuwe reacties.