Trier les Post Types dans les colonnes admin WordPress

Trier les Post Types dans les colonnes admin WordPress
17

Dans ce tutoriel, nous allons voir comment trier dans notre admin WordPress, les résultats de notre post type, comme par exemple les trier avec une meta key du post type par odre numérique.

Exemple, vous souhaitez trier le post type emplois et de les trier par l’ID de l’emploi du plus grand au plus petit.
Dans un premier temps nous allons construire nos colonnes désirés sur notre tableau du post type emplois.

Construisons notre colonne id-emploi. Il faut pour que ce soit considérer dans le post type, changer emplois par le nom de votre Post Type.

1
2
3
4
5
6
7
//////////////////////////////////// Admin columns Informations Post Type /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
add_filter( 'manage_emplois_posts_columns', 'themespress_custom_mycpt_columns' );
function themespress_custom_mycpt_columns( $columns ) {
  $columns['id-emploi'] = __( 'Id de l'emploi', 'themespress' );
  return $columns;
}

On n’affiche nos résultats dans la colonne, en faisant notre série d’instructions, si on souhaite ajouter plusieurs colonnes.

1
2
3
4
5
6
7
8
9
10
11
add_filter( 'manage_emplois_posts_columns', 'themespress_custom_edit_mycpt_columns' );
function themespress_custom_edit_mycpt_columns( $columns ) {
//////////////////////////////////// Admin columns Informations Post Type /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
  switch ( $column ) {
    case 'id-emploi' :
	// On appelle notre meta key
        echo get_post_meta( $post_id, 'id-emploi', true );
	break;
    }
}

On fait notre parse_query qui va nous permettre de trier nos emplois par ID du plus grand au plus petit.
Nous donnons la condition que si on n’est pas dans l’admin, return.

1
2
3
4
5
6
7
8
9
10
11
12
13
add_filter( 'parse_query', 'themespress_custom_post_sort' );
function themespress_custom_post_sort($query) {
 
    if ( ! is_admin() )
        return $query;
 
    global $current_screen;
    if ( isset( $current_screen ) && 'emplois' === $current_screen->post_type ) {
        $query->query_vars['orderby']  = 'meta_value';
        $query->query_vars['meta_key'] = 'id-emploi';
        $query->query_vars['order']    = 'DESC';
    }
}

Posted By | 12 novembre 2018 | Tutoriels | 0

Laisser un commentaire

Infolettre

Inscrivez vous à notre infolettre pour être informer de nos derniers tutoriels, produits, nouveautés, développements.

Nous gardons vos données privées et ne les partageons qu’avec les tierces parties qui rendent ce service possible. Lire notre politique de confidentialité.