Type d'article personnalisé - champ de commande

11

Dans un type d'article personnalisé, existe-t-il un moyen d'inclure le champ "commande" disponible pour les pages?

Existe-t-il une logique intégrée empêchant les doublons dans le champ "ordre"?

L'idée est de pouvoir trier un type d'article personnalisé selon un ordre spécifié par l'utilisateur, puis alphabétiquement selon un champ personnalisé basé sur une chaîne.

    
posée Force Flow 18.09.2012 - 15:50

2 réponses

22

Lorsque vous déclarez votre type d'article personnalisé à l'aide de la fonction register_post_type, vous devez ajouter des "attributs de page" au champ d'assistance, comme dans l'exemple suivant:

register_post_type('myposttype', array(
    'supports' => array('title', 'editor', 'page-attributes'),
    'hierarchical' => false
));

Vous devrez également ajouter toute autre boîte à méta prise en charge au champ "Supports". Voir enlace pour obtenir plus d'informations sur les champs register_post_type.

En outre, autant que je sache, il n’existe aucun moyen intégré d’empêcher deux ordres identiques, car vous pouvez créer un sous-ordre basé sur la hiérarchie (ainsi, un groupe de pages enfants peut avoir un ordre différent de un autre)

    
réponse donnée Dave Hunt 18.09.2012 - 15:58
3

En plus de la réponse de @ Dave-Hunt, vous pouvez également ajouter un filtre, tel que le suivant, pour définir un ordre personnalisé - dans ce cas, alphabétique par titre. (Code grâce au billet de blog de Mark Leong. ) Supprimer le is_admin() check, si vous voulez que vous personnalisiez aussi order_by sur le front-end.

function set_custom_post_types_admin_order($wp_query) {
  if (is_admin()) {

    // Get the post type from the query
    $post_type = $wp_query->query['post_type'];

    if ( $post_type == 'POST_TYPE') {

      // 'orderby' value can be any column name
      $wp_query->set('orderby', 'title');

      // 'order' value can be ASC or DESC
      $wp_query->set('order', 'ASC');
    }
  }
}
add_action('pre_get_posts', 'set_custom_post_types_admin_order');

Mettre à jour

Pour la validation avant enregistrement, voir la réponse suivante: enlace . où vos options sont discutées. En gros, il s’agit de jQuery personnalisé, car WordPress n’a pas de crochets de pré-sauvegarde.

Aussi (en dupliquant ici mon commentaire précédent pour référence future), voici comment exposer le champ "Ordre du menu" dans l'administrateur. Il est donc modifiable par l'utilisateur, comme pour les pages: Ajout de la colonne 'Ordre du menu' à l'écran d'administration personnalisé de type publication

    
réponse donnée marfarma 18.09.2012 - 16:04

Lire d'autres questions sur les étiquettes