Php 将类别添加到作者[Wordpress]

Php 将类别添加到作者[Wordpress],php,wordpress,function,metadata,Php,Wordpress,Function,Metadata,我正在尝试将该类别添加到作者。我创建了一个添加类别的菜单。作者可以选择自己的类别。创建新类别部分是成功。但当我检查类别并按update时,该值将在meta_值中显示“数组”,我的最后一部分“在用户页面上显示类别”也将在“用户类别”列中显示“数组”。下面的代码有什么问题吗 /*add user category*/ ...........add user category........... add_action( 'init', 'register_user_taxonomy'

我正在尝试将该类别添加到作者。我创建了一个添加类别的菜单。作者可以选择自己的类别。创建新类别部分是成功。但当我检查类别并按update时,该值将在meta_值中显示“数组”,我的最后一部分“在用户页面上显示类别”也将在“用户类别”列中显示“数组”。下面的代码有什么问题吗

/*add user category*/
    ...........add user category...........
    add_action( 'init', 'register_user_taxonomy' );

/*add_user_category_menu*/
    ...........add_user_category_menu...........
    add_action( 'admin_menu', 'add_user_category_menu' );

/*Add user category to user profile page*/
    add_action( 'show_user_profile', 'show_user_category' );
    add_action( 'edit_user_profile', 'show_user_category' );
    function show_user_category( $user ) {

    $assigned_terms = wp_get_object_terms( $user->ID, 'user_category' );
    $assigned_term_ids = array();
    foreach( $assigned_terms as $term ) {
    $assigned_term_ids[] = $term->term_id;
    }

    $user_cats = get_terms( 'user_category', array('hide_empty'=>false) );

    echo "<h3>User Category</h3>";

    foreach( $user_cats as $cat ) { ?>
    <input type="checkbox" id="user-category-<?php echo $cat->term_id ?>" <?php if(in_array( $cat->term_id, $assigned_term_ids )) echo 'checked=checked';?> name="user_category[]"  value="<?php echo $cat->term_id;?>"/> 
    <?php
    echo '<label for="user-category-'.$cat->term_id.'">'.$cat->name.'</label>';
    echo '<br />';
    }
    }

/*Save User Category*/
    add_action( 'personal_options_update', 'save_user_category' );
    add_action( 'edit_user_profile_update', 'save_user_category' );
    function save_user_category( $user_id ) {

    $user_terms = $_POST['user_category'];
    $terms = array_unique( array_map( 'intval', $user_terms ) );
    wp_set_object_terms( $user_id, $terms, 'user_category', false );
    update_user_meta($user_id, 'user_category', $user_terms);

    clean_object_term_cache($user_id, 'user_category');
    }

/*show category on user page*/
    function new_contact_methods( $usercategory ) {
    $usercategory['user_category'] = 'user_category';
    return $usercategory;
    }
    add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );

    function new_modify_user_table( $column ) {
    $column['user_category'] = 'user category';
    return $column;
    }
    add_filter( 'manage_users_columns', 'new_modify_user_table' );

    function new_modify_user_table_row( $val, $column_name, $user_id ) {
    $user = get_userdata( $user_id );
    switch ($column_name) {
    case 'user_category' :
        return get_the_author_meta( 'user_category', $user_id );
        break;
        default:
    }
    return $return;
    }
    add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3);
/*添加用户类别*/
添加用户类别。。。。。。。。。。。
添加_操作('init','register_user_taxonomy');
/*添加用户类别菜单*/
添加用户类别菜单。。。。。。。。。。。
添加操作(“管理菜单”、“添加用户”类别菜单);
/*将用户类别添加到用户配置文件页面*/
添加操作('show_user_profile'、'show_user_category');
添加操作(“编辑用户配置文件”、“显示用户类别”);
函数显示用户类别($user){
$assigned_terms=wp_get_object_terms($user->ID,'user_category');
$assigned_term_id=array();
foreach($term作为$term分配的_术语){
$assigned_term_id[]=$term->term_id;
}
$user_cats=get_terms('user_category',数组('hide_empty'=>false));
回应“用户类别”;
foreach($user_cats as$cat){?>
name=“user_category[]”value=“”/>

$\u POST['user\u category']
是选中的复选框值数组。您可以使用