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