2016-06-02 5 views
0

맞춤 플러그인을 만들었으므로 사용자 프로필 화면에 맞춤 메타를 추가 할 수 있어야합니다.WordPress custom user_meta 저장 안함

메타를 보여 주지만 업데이트하지 않는 것 같습니다. 이것은이 메타의 첫 번째 인스턴스이므로 DB에 이미 존재하지 않습니다.

파일은 내 테마가 아니라 내 플러그인 디렉토리에 있습니다.

<?php 

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

function add_extra_social_links($user) 
{ 
?> 
    <h3>Web App Information</h3> 

    <table class="form-table"> 

     <tr> 
      <th><label for="companyname">Company Name</label></th> 
      <td> 
       <?php 
       $args = array(
        'post_type' => array('operators','clients'), 
        'posts_per_page' => -1, 
        'orderby' => 'title', 
        ); 
       $myposts = get_posts($args); 
       echo '<select id="companyname"name="companyname">'; 
       echo '<option value="' . esc_attr(get_the_author_meta('companyname', $user->ID)) . '">'; 
       foreach ($myposts as $post) : setup_postdata($post); ?> 
        <option value="<?php echo $post->post_title; ?>"> 
         <?php echo $post->post_title; ?> 
        </option>      
       <?php endforeach; 
       echo '</select>'; 
       wp_reset_postdata();?> 
      </td>       
     </tr>   

     <tr> 
      <th><label for="companyadmin">Is this user a company admin.</label></th> 
      <td> 
       <?php 
       echo '<select id="companyadmin" name="companyadmin">'; 
       echo '<option value="' . esc_attr(get_the_author_meta('companyadmin', $user->ID)) . '">'; 
       echo '<option value="Y">Yes, is admin.</option>'; 
       echo '<option value="N">No, is not admin.</option>';     
       echo '</select>'; 
       ?> 
      </td> 
     </tr> 
    </table> 
<?php 
} 


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

function save_extra_social_links($user_id) 
{ 
update_user_meta($user_id,'companyname', $_POST['companyname']); 
update_user_meta($user_id,'companyadmin', $_POST['companyadmin']); 

} 

?>

답변

0

시도 사용 기능은 $ USER_ID

난 당신이 매개 변수를 사용하지만 훅이 작동하지

+0

에 보낼 생각에 get_current_user_id. 그래도 고마워. –