我有个奇怪的问题。我向用户配置文件添加了自定义字段,并使用the_author_meta()函数显示字段内容。是啊,一切都很好。但今天不起作用了。
自定义字段位于用户配置文件中。当我单击update配置文件时,字段的内容将保持不变(因此应该保存信息)。但是在作者的页面上,我让<?php the_author_meta( 'skills' ); ?>什么也没做。
在创建自己的自定义字段时,我遵循了本教程:http://justintadlock.com/archives/2009/09/10/adding-and-using-custom-user-profile-fields
当我试图在我的代码中找到错误时:http://bavotasan.com/2009/adding-extra-fields-to-the-wordpress-user-profile/
两者都是相似的。我从昨天开始使用页面模板,所以它可能导致了问题。所以我删除了昨天以来添加的所有内容。但什么都没变。
这是我的代码:
// CUSTOM FIELD IN USER ADMIN - SAVE
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>Skills - Färdigheter</h3>
<table class="form-table">
<tr>
<th><label for="skills">Skills</label></th>
<td>
<textarea type="text" name="skills" rows="4" cols="50" id="skills" class="regular-text"><?php echo esc_attr( get_the_author_meta( 'skills', $user->ID ) ); ?></textarea><br>
<span class="description">Please enter your skills.</span>
</td>
</tr>
</table>
<?php }
// CUSTOM FIELD IN USER ADMIN
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
{return false;}
/* Copy and paste this line for additional fields. Make sure to change 'twitter' to the field ID. */
update_user_meta( $user_id, 'skills', $_POST['skills'] );
}发布于 2015-04-01 07:50:00
现在,我认为您将成功地保存用户元。只是你需要从他们那里展示出来。
现在您可以使用函数"get_user_meta($user_id,$key,$single);“。访问这里:meta谢谢
发布于 2015-04-01 10:09:27
问题解决了!解决方案是使用<?php echo $curauth->skills; ?>而不是<?php the_author_meta( 'skills' ); ?>或<?php get_user_meta($user_id, $key, $single); ?>。
我不知道为什么,但这不重要
https://stackoverflow.com/questions/29380037
复制相似问题