ユーザー管理パネルにカスタム列を追加


28

USERSには、Username Name Email Role Postsという名前のデフォルトの5列があります。次に、連絡先番号を含む列をもう1つ追加します。

どうすればこれを達成できますか?

ここにブラックボックスが表示されます


電話番号を設定していますか?ユーザーがプロファイルに電話番号を追加できますか?
ロバート・ヒュー14

いいえ..追加する方法を知りたいだけです..その連絡先番号のみを修正しません..空白の列もできます
Rohil_PHPBeginner 14

1
サイトに多くのカスタム列がある場合、Admin Columnsと呼ばれるプラグインに興味があるかもしれません。
ブライアン

あなたは、詳細な説明と、このブログを参照してくださいすることができますtekina.info/...
Aniketシン

回答:


43

OK、これはユーザーが電話番号を追加できるようにするコードです。この完全なコードをfunctions.phpファイルに貼り付けます。これにより、「電話番号」のユーザープロファイルに新しいフィールドが追加され、電話のWordPress管理者に列ユーザーテーブルが追加されます。

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

編集

2つの列を追加するには、いくつかの変更を加える必要があります。両方のコードを比較して理解します。

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $column['xyz'] = 'XYZ';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        case 'xyz' :
            return '';
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

コードを再度使用します。ユーザーリストにも電話フィールドが表示されるように変更しました。
ロバート・ヒュー14

すばらしいです!働いた..しかし、ユーザーを追加するときに、なぜ彼らは電話番号を求めないのですか?
Rohil_PHPBeginner 14

このコードを説明してもらえますか?もう1つフィールドを追加したいのですが、エラーが表示されています。
Rohil_PHPBeginner 14

2
テーマの外観とは何の関係もないため、これをサイト固有のプラグインに追加することをお勧めします。
ヘルガサビキング14

1
最後に$user = get_userdata( $user_id );return $return絶対に必要ではありません。変数$userは関数によって使用され$returnず、定義されていないため、何も返しません。
LoicTheAztec
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.