Files
PartnerExpo-Core/includes/class-partnerexpo-core-user-fields.php

52 lines
1.9 KiB
PHP

<?php
/**
* Used to register custom user fields.
*
* @link https://github.com/Duskell
* @since 1.1.0
* @package Partnerexpo_Core
* @subpackage Partnerexpo_Core/includes
* @author Juhász Levente <juhasz.levente@rendszerepito.hu>
*/
class Partnerexpo_Core_User_Fields {
public function activate_fields() {
add_action( 'show_user_profile', [$this, 'add_custom_user_fields'] );
add_action( 'edit_user_profile', [$this, 'add_custom_user_fields'] );
add_action( 'personal_options_update', [$this, 'save_custom_user_fields'] );
add_action( 'edit_user_profile_update', [$this, 'save_custom_user_fields'] );
add_action( 'user_register', [$this, 'add_value_after_reg'] );
}
public function add_custom_user_fields( $user ) {
$company = get_user_meta( $user->ID, 'company', true );
?>
<h3>Additional Information</h3>
<table class="form-table">
<tr>
<th><label for="company"><?php _e( 'Cég neve', 'partnerexpo-core' ) ?></label></th>
<td>
<input type="text" name="company" id="company" value="<?php echo esc_attr( $company ) ?>" class="regular-text" />
</td>
</tr>
</table>
<?php
}
public function save_custom_user_fields( $user_id ) {
if( ! isset( $_POST[ '_wpnonce' ] ) || ! wp_verify_nonce( $_POST[ '_wpnonce' ], 'update-user_' . $user_id ) ) {
return;
}
if( ! current_user_can( 'edit_user', $user_id ) ) {
return;
}
update_user_meta( $user_id, 'company', sanitize_text_field( $_POST[ 'company' ] ) );
}
public function add_value_after_reg( $user_id ) {
update_user_meta( $user_id, 'company', sanitize_text_field( $_POST[ 'company' ] ?? '' ) );
}
}