操作USER_NEW_FORM参数为字符串

时间:2016-08-10 作者:Jean-philippe Emond

在行动中user_new_form, 参数$user 返回字符串add-new-user.

我用过esc_attr( get_the_author_meta( \'_typeuser\', $user->ID ) ); 但我犯了个错误。

另一个question 关于这个主题,目前没有回应,但我已经解决了这个问题:

/* PROFIL FIELD */
add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'user_new_form\', \'my_show_extra_profile_fields\');

function my_show_extra_profile_fields( $user ) {

    if(is_string($user) === true){
        $user = new stdClass();//create a new
        $user->ID = -9999;
    }
    $newsletter = esc_attr( get_the_author_meta( \'_newsletter\', $user->ID ) );
    unset($user);
}
如何在不创建对象和设置的情况下解决此问题$user->ID-9999 对于新用户?

2 个回复
SO网友:ma_dev_15

这样使用:

$id=$用户->id;

如果用户是新用户,则设置$id=9999

function my_show_extra_profile_fields( $user ) {

    if(is_string($user) === true){
        $user = new stdClass();//create a new
        $id = -9999;
    }
    $newsletter = esc_attr( get_the_author_meta( \'_newsletter\', $id ) );
    unset($user);
}

SO网友:Oscar Galo

只需检查是否设置了ID成员:

function my_show_extra_profile_fields( $user ) {
    $id = isset($user->ID)? $user->ID : -9999;
    $newsletter = esc_attr( get_the_author_meta( \'_newsletter\', $id ) );
}

相关推荐

Client Profiles

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