1

我一直在 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'] );
}
4

2 回答 2

2

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

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

于 2012-06-16T02:31:05.317 回答
0

Theme Check 是一个很棒的插件。当我升级到 3.3 升级版和现在的 3.4 版时,为我节省了大量寻找折旧物品的时间。这是 WordPress主题检查插件的链接

于 2012-06-29T03:20:55.470 回答