koter84 / wpSOL

Wordpress Plugin for Login through login.scouting.nl
GNU General Public License v2.0
6 stars 5 forks source link

Toevoegen birthDate / gender / memberNo #5

Closed bashuis closed 1 year ago

bashuis commented 3 years ago

Beste,

zou je onderstaande code willen toevoegen aan de plugin, dan komen de geboortedatum en het geslacht ook mee naar WP in de user settings

in common.php na regel 220:

update_user_meta( $user->ID, 'birthDate', $gegevens['birthDate'] );
update_user_meta( $user->ID, 'person_gender', $gegevens['person/gender'] );
update_user_meta( $user->ID, 'Sol_memberNo', $gegevens['contact/postalCode/home'] );

optioneel om ze ook zichtbaar te maken in het profiel:

add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );

function extra_user_profile_fields( $user ) { ?>
    <h3><?php _e("Extra profile information", "blank"); ?></h3>

    <table class="form-table">
    <tr>
        <th><label for="birthDate"><?php _e("birthDate"); ?></label></th>
        <td>
            <input type="text" name="birthDate" id="birthDate" value="<?php echo esc_attr( get_the_author_meta( 'birthDate', $user->ID ) ); ?>" class="regular-text" /><br />
            <span class="description"><?php _e("Please enter your birthDate."); ?></span>
        </td>
    </tr>
    <tr>
        <th><label for="person_gender"><?php _e("Gender"); ?></label></th>
        <td>
            <input type="text" name="person_gender" id="person_gender" value="<?php echo esc_attr( get_the_author_meta( 'person_gender', $user->ID ) ); ?>" class="regular-text" /><br />
            <span class="description"><?php _e("Please enter your gender."); ?></span>
        </td>
    </tr>
    <tr>
        <th><label for="sol_memberNo"><?php _e("Sol memberNo"); ?></label></th>
        <td>
            <input type="text" name="sol_memberNo" id="Sol_memberNo" value="<?php echo esc_attr( get_the_author_meta( 'Sol_memberNo', $user->ID ) ); ?>" class="regular-text" /><br />
            <span class="description"><?php _e("Please enter your Sol_memberNo."); ?></span>
        </td>
    </tr>
    </table>
<?php }

add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );

function save_extra_user_profile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) ) { 
        return false; 
    }
    update_user_meta( $user_id, 'person_gender', $_POST['person_gender'] );
    update_user_meta( $user_id, 'birthDate', $_POST['birthDate'] );
}

alvast bedankt!

koter84 commented 3 years ago

in het kader van de AVG wil ik (in ieder geval by-default) zo min mogelijk persoonsgegevens overhalen naar WP. ik zal eens kijken of ik hier een instelling voor kan maken.

als ik het me goed herinner was er toen ik dit bouwde geen sol-id beschikbaar, ik heb daar zelfs nog contact over gehad met de helpdesk omdat er eigenlijk geen echt unieke waarde werd meegegeven. Als er nu een sol-id mee komt, dan zal ik dat in ieder geval meenemen in het inlog-proces.

koter84 commented 1 year ago

aangepast in versie 1.2.0