web-dev-qa-db-fra.com

Comment changer l'ordre des catégories dans le tableau de bord de l'administrateur?

L'ordre des catégories sur le tableau de bord est alphabétique. Puis-je le changer en commande personnalisée?

5
s976

Trouvé une réponse dans cette réponse .

add_filter( 'get_terms_args', 'wpse_53094_sort_get_terms_args', 10, 2 );
function wpse_53094_sort_get_terms_args( $args, $taxonomies ) 
{
    global $pagenow;
    if( !is_admin() || ('post.php' != $pagenow && 'post-new.php' != $pagenow) ) 
        return $args;

    $args['orderby'] = 'slug';
    $args['order'] = 'DESC';

    return $args;
}

Le order peut être ASC ou DESC, et le orderby peut être:

  • count
  • description (ça devrait, mais ça n'a pas si bien fonctionné pour moi, des tests supplémentaires sont nécessaires)
  • name
  • slug


Plugins d'intérêt

(peut-on appeler ces Plinterests ?)

Les deux premiers sont très courts et peuvent être facilement intégrés à votre code.

  • Catégorie Checklist Expander : étend la hauteur de la liste des catégories, aucun défilement n'est donc nécessaire
  • Arbre de liste de catégories : celui-ci reconstruit la méta-catégorie, vous pouvez donc en modifier le code pour une mise en forme/une adaptation de la boîte - et voici une capture d'écran de ce qu'elle fait

    enter image description here

  • Gecka Terms Ordering : crée une table auxiliaire dans la base de données (wp_termmeta) pour gérer la commande. A glisser et déposer des capacités.

4
brasofilo

Utilisez le plugin Advanced Custom Fields (Ce plugin est pratique à bien des égards). Créez ensuite un champ de commande personnalisé (category_order) avec la règle 'Taxanomy_Term' égale à 'Catégories'.

Ensuite, dans votre thème functions.php (ou quelque chose de pertinent), utilisez:

$categories = get_categories( $args );  

usort($categories, function($a, $b) {
   return get_field("category_order", "category_".$a->term_id) - get_field("category_order", "category_".$b->term_id);
});

foreach ($categories as $category){
...

Où ordre_catégorie est le nom du champ créé avec ACF.

Ce billet inspiré par celui-ci ici .

2
Jahmic