programing

워드프레스 - 사용자 정의 사용자 프로파일 필드 저장

closeapi 2023. 11. 7. 20:55
반응형

워드프레스 - 사용자 정의 사용자 프로파일 필드 저장

현재 워드프레스 사용자를 위해 사용자 지정 사용자 프로파일 필드를 추가하려고 합니다.

저는 제 기능에 다음 코드를 추가하였습니다.php 하지만 어떤 이유로 입력된 데이터가 저장되지 않습니다...

//** CUSTOM USER META **//

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

function my_show_extra_profile_fields( $user ) { ?>
    <h3>Extra profile information</h3>
    <table class="form-table">
        <tr>
            <th><label for="club">Club You Support</label></th>
            <td>
                <input type="text" name="club" id="club" value="<?php echo esc_attr( get_the_author_meta( 'club', $user->ID ) ); ?>" class="regular-text" /><br />
            </td>
        </tr>
    </table>
<?php }

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

   function my_save_extra_profile_fields( $user_id ) {
       update_usermeta( $user_id, 'club', sanitize_text_field( $_POST['club']) );
   } 

왜 이 데이터가 고정되지 않는지에 대한 아이디어가 있습니까?

워드프레스에서 새 프로파일 필드를 만드는 더 쉽고 적절한 방법이 있습니다.위의 코드를 바탕으로 아래의 코드를 아래의 코드에 내려보시기 바랍니다.functions.php당신의 주제에 대한 파일:

function my_show_extra_profile_fields {
    $user_contact_method['club'] = 'Club You Support';
    return $user_contact_method;
}
add_filter( 'user_contactmethods', 'my_show_extra_profile_fields' );

이렇게 하면 프로필 페이지에 새 필드가 자동으로 생성되고 그에 따라 사용자 정의 필드(메타)로 데이터베이스에 저장됩니다.

다음을 사용하여 테마에 이 정보를 표시할 수 있습니다.the_author_meta('club');

언급URL : https://stackoverflow.com/questions/29912342/wordpress-saving-custom-user-profile-fields

반응형