web-dev-qa-db-fra.com

Comment afficher le nombre de types personnalisés dans la page d'administration des utilisateurs

Il y a un nombre de messages dans la page utilisateur de la zone d'administration de WordPress. J'ai un événement de type post personnalisé. Existe-t-il un hook que je peux utiliser pour ajouter mon nombre d'événements au nombre d'articles, ou ajouter une colonne pour le nombre d'événements?

2
Scuba Kay

Il y a 2 jolis points d'accrochage non documentés 'manage_users_custom_column' et 'manage_users_columns' que vous pouvez utiliser pour l'étendue.

Ils fonctionnent de la même manière que 'manage_posts_custom_column' et 'manage_posts_columns' qui sont mieux documentés, voir Codex .

Donc, vous pouvez faire quelque chose comme ça:

/*
 * Add Event Column 
 */
function users_events_column( $cols ) {
  $cols['user_events'] = 'Events';   
  return $cols;
}

/*
 * Print Event Column Value  
 */ 
function user_events_column_value( $value, $column_name, $id ) {
  if( $column_name == 'user_events' ) {
    global $wpdb;
    $count = (int) $wpdb->get_var( $wpdb->prepare(
      "SELECT COUNT(ID) FROM $wpdb->posts WHERE 
       post_type = 'events' AND post_status = 'publish' AND post_author = %d",
       $id
    ) );
    return $count;
  }
}

add_filter( 'manage_users_custom_column', 'user_events_column_value', 10, 3 );
add_filter( 'manage_users_columns', 'users_events_column' );

assurez-vous seulement d’utiliser le slug de type de message correct dans la requête SQL dans user_events_column_value funcion

6
gmazzap