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

客户用户字段不会保存在WordPress 3.4中,wordpress,Wordpress,我在WordPress中使用了各种自定义用户字段(显示在用户配置文件上的字段)。随着3.4的更新,这些字段不再保存到数据库中 下面是我在functions.php文件中使用的代码。有人知道需要做哪些更改才能在3.4中工作吗 // Create Custom User Fields add_action( 'show_user_profile', 'appUserAnswers' ); add_action( 'edit_user_profile', 'appUserAnswers' ); fun

我在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'] );
}
//创建自定义用户字段
添加操作('show_user_profile'、'appUserAnswers');
添加操作(“编辑用户配置文件”、“appUserAnswers”);
函数appUserAnswers($user){?>
你的答案
问题1

这最终只是一个简单的修复。经过一些挖掘,我发现update_usermeta已经被弃用,但在旧版本的Wordpress中仍然有效。在这个版本中,他们完全取消了支持


用update\u user\u meta替换update\u usermeta的所有实例解决了这个问题。

主题检查是一个很好的插件。当我升级到3.3升级到现在的3.4时,节省了我大量查找折旧项目的时间。这里有一个链接

我建议你用
vardump
检查$\u帖子中的内容。谢谢@janw…我将开始这个链接顺便说一句,你所做的不是直接保存,而是直接保存一个$u POST值。我忽略了在这个问题中包括我直接放在前端页面上的代码,用户在那里提交信息。这直接从$u POST值保存。因此,用户可以将其用于SQL注入。。。。。