Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将自定义用户元添加到WordPress的用户管理页面_Php_Wordpress - Fatal编程技术网

Php 将自定义用户元添加到WordPress的用户管理页面

Php 将自定义用户元添加到WordPress的用户管理页面,php,wordpress,Php,Wordpress,我在我的站点中创建了一个特殊表单,允许我的用户输入密钥。我正在使用add\u user\u meta()将元数据添加到数据库中。我想能够看到这个关键时,我在管理中心的用户点击 我将如何向本专栏添加内容 下面是im使用的元数据信息 add_user_meta($userId,'code','12345'); 我们只希望能够将其添加到显示用户名电子邮件和角色的表中users.php的视图中 我用过这样的代码来显示用户id,但我不知道如何显示他们的元数据 add_filter('manage_use

我在我的站点中创建了一个特殊表单,允许我的用户输入密钥。我正在使用
add\u user\u meta()
将元数据添加到数据库中。我想能够看到这个关键时,我在管理中心的用户点击

我将如何向本专栏添加内容

下面是im使用的元数据信息

add_user_meta($userId,'code','12345');
我们只希望能够将其添加到显示用户名电子邮件和角色的表中users.php的视图中

我用过这样的代码来显示用户id,但我不知道如何显示他们的元数据

add_filter('manage_users_columns', 'pippin_add_user_id_column');
function pippin_add_user_id_column($columns) {
    $columns['user_id'] = 'User ID';
    return $columns;
}

add_action('manage_users_custom_column',  'pippin_show_user_id_column_content', 10, 3);
function pippin_show_user_id_column_content($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    if ( 'user_id' == $column_name )
        return $user_id;
    return $value;
}

这个例子是在WordPress codex的这两个页面的帮助下创建的

它用于显示和更新自定义用户元数据

<?php

// Hooks near the bottom of profile page (if current user) 
add_action('show_user_profile', 'custom_user_profile_fields');

// Hooks near the bottom of the profile page (if not current user) 
add_action('edit_user_profile', 'custom_user_profile_fields');

// @param WP_User $user
function custom_user_profile_fields( $user ) {
?>
    <table class="form-table">
        <tr>
            <th>
                <label for="code"><?php _e( 'Custom Meta' ); ?></label>
            </th>
            <td>
                <input type="text" name="code" id="code" value="<?php echo esc_attr( get_the_author_meta( 'code', $user->ID ) ); ?>" class="regular-text" />
            </td>
        </tr>
    </table>
<?php
}


// Hook is used to save custom fields that have been added to the WordPress profile page (if current user) 
add_action( 'personal_options_update', 'update_extra_profile_fields' );

// Hook is used to save custom fields that have been added to the WordPress profile page (if not current user) 
add_action( 'edit_user_profile_update', 'update_extra_profile_fields' );

function update_extra_profile_fields( $user_id ) {
    if ( current_user_can( 'edit_user', $user_id ) )
        update_user_meta( $user_id, 'code', $_POST['code'] );
}

?>


意识到这是一个有点老掉牙的问题,但是我被困在一个非常类似的问题上,我想我会分享我的发现,这证明是一个非常简单的解决方案

<?php
add_filter('manage_users_columns', 'pippin_add_user_id_column');
function pippin_add_user_id_column($columns) {
    $columns['user_id'] = 'User ID';
    return $columns;
}    

add_action('manage_users_custom_column',  'pippin_show_user_id_column_content', 10, 3);
function pippin_show_user_id_column_content($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    if ( 'user_id' == $column_name )
        return $user_id;
    return $value;
}
?>


信用证:

要向users.php添加自定义user\u元字段,您需要执行以下操作:

function yoursite_manage_users_columns( $columns ) {

    // $columns is a key/value array of column slugs and names
    $columns[ 'custom_field' ] = 'Subscription';

    return $columns;
}

add_filter( 'manage_users_columns', 'yoursite_manage_users_columns', 10, 1 );

function yoursite_manage_users_custom_column( $output, $column_key, $user_id ) {

    switch ( $column_key ) {
        case 'custom_field':
            $value = get_user_meta( $user_id, 'custom_field', true );

            return $value;
            break;
        default: break;
    }

    // if no column slug found, return default output value
    return $output;
}

add_filter( 'manage_users_custom_column', 'yoursite_manage_users_custom_column', 10, 3 );
将第二个add\u过滤器更改为add\u操作后,上面的答案对我有效。以下是修改后的代码:

function yoursite_manage_users_columns( $columns ) {

    // $columns is a key/value array of column slugs and names
    $columns[ 'custom_field' ] = 'Subscription';

    return $columns;
}

add_filter( 'manage_users_columns', 'yoursite_manage_users_columns', 10, 1 );

function yoursite_manage_users_custom_column( $output, $column_key, $user_id ) {

    switch ( $column_key ) {
        case 'custom_field':
            $value = get_user_meta( $user_id, 'custom_field', true );

            return $value;
            break;
        default: break;
    }

    // if no column slug found, return default output value
    return $output;
}

add_action( 'manage_users_custom_column', 'yoursite_manage_users_custom_column', 10, 3 );

我希望将该字段添加到users.php,其中显示用户名、电子邮件和角色。我们不想编辑它。所以只需使用代码的第一部分来显示它,并将输入元素更改为不可编辑的内容。我不想在user.php上显示它,我想在users.php上显示它。这将是一个显示表中所有用户名、电子邮件和角色的页面。这与原始问题“逐字逐句”中的代码完全相同。它不回答如何添加自定义的元字段。