如何在用户meta on函数.php上添加单选字段?

时间:2013-11-17 作者:aijaz

我在用户meta上添加了性别字段,它没有价值

<?php

add_action( \'show_user_profile\', \'show_extra_profile_fields\', 10 );
add_action( \'edit_user_profile\', \'show_extra_profile_fields\', 10 );

function show_extra_profile_fields( $user ) { ?>
                          <section>
                            <label class="label" for="gender">Gender</label>
                            <div class="inline-group">
                                <label class="radio"><input type="radio" name="radio-inline"  <?php if ($gender == \'Male\' ) { ?>checked="checked"<?php }?> value="Male"><i></i>Male</label>
                                <label class="radio"><input type="radio" name="radio-inline"  <?php if ($gender == \'Female\' ) { ?>checked="checked"<?php }?> value="Female"><i></i>Female</label>
                            </div>
                        </section>
                        <!-- sex -->
 <?php }

add_action( \'personal_options_update\', \'save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'save_extra_profile_fields\' );

function save_extra_profile_fields( $user_id ) {

    if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;

    update_usermeta( $user_id, \'gender\', $_POST[\'gender\'] );
?>
我看到了同样的问题,但仍然没有保存How to add checkbox and radio button in Profile Page

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

您在无线电输入上使用了错误的名称,radio-inline 但当你试图获得你正在使用的价值时$_POST[\'gender\']

我已经更新了您的代码并做了一些改进checked() 作用

function show_extra_profile_fields( $user ) { 

    $gender = get_user_meta( $user->ID, \'gender\', true );
?>

<section>
    <label class="label" for="gender">Gender</label>
    <div class="inline-group">
        <label class="radio"><input type="radio" name="gender"  <?php  checked( $gender, \'Male\' ); ?> value="Male" /> <i>Male</i></label>
        <label class="radio"><input type="radio" name="gender"  <?php  checked( $gender, \'Female\' ); ?> value="Female" /> <i>Female</i></label>
    </div>
</section>

 <?php }
OBS:您也应该清理数据。

OBS2:照@kaiser说的做:

这些问题也可以作为以后访客的参考。请修改您的问题拼写/标点符号/语法/大写,以便尽可能容易阅读。谢谢

抱歉英语不好

结束

相关推荐

Client Profiles

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