web-dev-qa-db-ja.com

ユーザーを管理するカスタム列にクラス "num"を追加

ロール「リードバイヤー」の購入リードを表示するように管理ユーザー列をカスタマイズしました。列の値は10進数(リード数)です。

Usersテーブルの "posts"列にはクラス "num"があるので、<th><td>text-align: center;でスタイルされています。

カスタム列にも "num"クラスを追加したいです。

クラス「num」を追加する可能性があるかどうかを確認するために、「manage_users_columns」および「manage_users_custom_columns」関数を見つけることができるドキュメントは誰かわかりますか?

Purchased leads column needs to be aligned center

The class num on the "posts" column

// Add users table header columns
add_filter( 'manage_users_columns', 'gtp_users_table_columns' );
function gtp_users_table_columns( $defaults ) {
    $defaults['purchased-leads'] = __( 'Purchased leads', 'gtp_translate' );
    return $defaults;
}

// Add users table lead purchase column content
add_action( 'manage_users_custom_column', 'gtp_users_table_content', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case 'purchased-leads' : 
            return $leads->found_posts;
            break;

    }
}
1
Robbert

解決策は簡単です。このように列を定義するときは、Wordのnumを追加します。

// Add users table header columns
add_filter( 'manage_users_columns', 'gtp_users_table_columns' );
function gtp_users_table_columns( $defaults ) {
    $defaults['purchased-leads num'] = __( 'Purchased leads', 'gtp_translate' );
    return $defaults;
}

// Add users table lead purchase column content
add_action( 'manage_users_custom_column', 'gtp_users_table_content', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case 'purchased-leads num' : 
            return $leads->found_posts;
            break;
    }
}

元のコードに変更が2つだけあります。

  1. 最初の関数で$defaults['purchased-leads']$defaults['purchased-leads num']に変更
  2. 2番目の関数でcase 'purchased-leads'case 'purchased-leads num'に変更

WordPressはnumクラスをヘッダーと列の両方に割り当てます。追加のdivや他の要素は必要ありません。これはあなたが追加したいと思う他のどのカスタムクラスにも働きます。

0
Richard Bonk

gtp_users_table_contentアクションフックに対するmanage_users_custom_column関数の出力は、定義済みの<td></td>要素内に出力されるため、これは不可能です。しかしながら、あなたはあなたの出力の周りにクラスを持つ単純なdivを置くことができます:

// Add users table lead purchase column content
add_action( 'manage_users_custom_column', 'gtp_users_table_content', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case 'purchased-leads' : 
            return '<div class="num">' . $leads->found_posts . '</div>';
            break;

    }

    return '';
}

Returnステートメントの一貫性を保つために、関数の最後にreturnステートメントをもう1つ追加しました。

編集:テーブルヘッダの調整を追加しました

テーブルのヘッダーセルも中央揃えにします。

// Add users table header columns
    add_filter( 'manage_users_columns', 'gtp_users_table_columns' );
    function gtp_users_table_columns( $defaults ) {
        $defaults['purchased-leads'] = '<div class="num">' . __( 'Purchased leads', 'gtp_translate' ) . '</div>';
        return $defaults;
    }
1
redelschaap

カスタム列にカスタムクラスを追加するカスタムのポストタイプ/ポスト/ページ/およびユーザーリストテーブル。

これは単純ですPlease Try This This別のクラスの間に "Purchased-lead num"スペースのような列名を追加します。追加列に "num"クラスを追加し、自動テキスト位置をポストカウントのように中央揃えにします。その他のcssは不要です。

 add_filter( 'manage_users_columns'、 'gtp_users_table_columns'); 
関数gtp_users_table_columns($ defaults){
 $ defaults ['Purchased-lead num'] = __( 'Purchased lead' 、 'gtp_translate'); 
 $ defaultsを返す; 
} 
 

//テーブルリード購入列の内容を追加する add_action( 'manage_users_custom_column'、 'gtp_users_table_content'、10、3); 関数gtp_users_table_content($ value、$ column_name、$ user_id){ $ lead = gtp_get_leads_by_buyer($ user_id); switch($ column_name){ case 'Purchased-lead num': return $ lead-> found_posts; 。] break; }}
0
Bhavik Patel