的自定义配置文件字段

时间:2016-04-18 作者:lee

多亏了这个tutorial, 我学习并能够创建一个自定义配置文件,该配置文件使用输入文本进行配置文件链接。

以下是本教程中使用的代码:

/* add custom profile field */
add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_extra_profile_fields\' );

function my_show_extra_profile_fields( $user ) { ?>

    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }

/* save custom profile field */
add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );

function my_save_extra_profile_fields( $user_id ) {

    if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;
    update_usermeta( $user_id, \'twitter\', $_POST[\'twitter\'] );
}

/* display custom profile field */ 
function my_author_box() { ?>
    <div class="author-profile vcard">

        <?php if ( get_the_author_meta( \'twitter\' ) ) { ?>
            <p class="twitter clear">
                <a href="http://twitter.com/<?php the_author_meta( \'twitter\' ); ?>" title="Follow <?php the_author_meta( \'display_name\' ); ?> on Twitter">Follow <?php the_author_meta( \'display_name\' ); ?> on Twitter</a>
            </p>
        <?php } // End check for twitter ?>
    </div><?php
}
我尝试更改此部分:

<input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text" />
收件人:

<textarea type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text"></textarea>
因此它将使用textarea而不是textbox。每当我点击save profile时,textarea中不会保存任何内容,因此会删除其中的任何内容。

如何修复此问题,以便保存文本区域中的所有内容?

1 个回复
最合适的回答,由SO网友:emily 整理而成

我想你想要这样的东西:

<textarea type="text" name="twitter" id="twitter" class="regular-text"><?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?></textarea>
注意,输入字段有一个value属性,而textarea的内容介于<textarea></textarea>

相关推荐

Client Profiles

正在寻找创建客户机数据库的最佳方法。插件能最好地实现以下功能吗?我的客户端数据库插件存储有关客户端的个人信息和统计信息,这些信息和统计信息将通过自定义字段和自定义表单收集,管理员创建客户端配置文件后,仪表板选项卡将打开列表区域(类似于用户选项卡)(仅限管理员)“添加新”功能(类似于仪表板的用户区域)。管理员可以将客户端分配给用户,分配给用户的客户端显示为用户元数据。分配给用户的客户端将在用户配置文件中可见,仪表板小部件显示为登录用户分配的客户端,并带有指向客户端配置文件页面的链接。插件是解决此问题的解决方