客户用户字段不会保存在WordPress 3.4中

时间:2012-06-15 14:02:49

标签: wordpress

我一直在WordPress中使用各种自定义用户字段(显示在用户个人资料中的字段)。随着3.4的更新,这些字段不再保存到数据库中。

这是我在functions.php文件中使用的代码。有谁知道需要改变哪些才能在3.4中使用?

// Create Custom User Fields
add_action( 'show_user_profile', 'appUserAnswers' );
add_action( 'edit_user_profile', 'appUserAnswers' );
function appUserAnswers( $user ) { ?>
    <h3>Your Answers</h3>
    <table class="form-table">
        <tr>
            <th><label for="question-1">Question 1</label></th>
            <td>
                <textarea type="text" name="question-1" id="question-1" class="regular-text" rows="5" cols="30"><?php echo esc_attr( get_the_author_meta( 'question-1', $user->ID ) ); ?></textarea>
            </td>
        </tr>
    </table>
<?php }

// Save Custom User Fields
add_action( 'personal_options_update', 'appSaveUserAnswers' );
add_action( 'edit_user_profile_update', 'appSaveUserAnswers' );
function appSaveUserAnswers( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) )
        return false;
    // Copy and paste this line for additional fields. Make sure to change 'question-1' to the field ID.
    update_usermeta( $user_id, 'matrix-diagnosis', $_POST['question-1'] );
}

2 个答案:

答案 0 :(得分:2)

这最终成了一个简单的修复。经过一番挖掘后,我发现update_usermeta已被弃用,但仍旧使用旧版本的Wordpress。在这个版本中,他们完全支持了。

用update_user_meta替换update_usermeta的所有实例解决了这个问题。

答案 1 :(得分:0)

主题检查是一个很棒的插件。当我升级到3.3升级现在3.4时,节省了大量时间查找折旧项目。这是链接WordPress Theme Check Plug-in