Benutzerdefinierter Post-Typ – Bestellfeld

Gibt es in einem benutzerdefinierten Post-Typ eine Möglichkeit, das Feld “Reihenfolge” aufzunehmen, das für Seiten verfügbar ist?

Gibt es eine eingebaute Logik, die doppelte Werte im Feld “Reihenfolge” verhindert?

Die Idee besteht darin, einen benutzerdefinierten Post-Typ nach einer benutzerdefinierten Reihenfolge und dann alphabetisch nach einem zeichenfolgenbasierten benutzerdefinierten Feld sortieren zu können.

Solutions Collecting From Web of "Benutzerdefinierter Post-Typ – Bestellfeld"

Wenn Sie Ihren benutzerdefinierten Beitragstyp mit der function register_post_type deklarieren, müssen Sie wie im folgenden Beispiel ‘seitenattribute’ zum support-Feld hinzufügen:

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

Sie müssen auch andere unterstützte Metaboxen zum Feld ‘Unterstützungen’ hinzufügen, siehe http://codex.wordpress.org/Function_Reference/register_post_type für weitere Informationen über die Felder register_post_type.

Auch soweit ich weiß, gibt es keinen integrierten Weg, um zwei der gleichen Reihenfolge zu verhindern, weil Sie eine Unterordnung basierend auf der Hierarchie erstellen können (so kann eine Gruppe von Kinderseiten eine andere Reihenfolge haben als eine andere).

Zusätzlich zur Antwort von @ Dave-Hunt können Sie auch einen Filter wie den folgenden hinzufügen, um eine benutzerdefinierte Reihenfolge zu definieren – in diesem Fall alphabetisch nach Titel. (Code Dank an Mark Leongs Blogpost. ) Entfernen Sie die Überprüfung von is_admin() , wenn Sie auch eine benutzerdefinierte order_by auf dem Front-End möchten.

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

     // Holen Sie den Post-Typ aus der Abfrage
     $ post_type = $ wp_anfrage-> query ['post_type'];

     if ($ post_type == 'POST_TYPE') {

       // Der Wert 'orderby' kann ein beliebiger Spaltenname sein
       $ wp_query-> set ('orderby', 'title');

       // Der Wert 'order' kann ASC oder DESC sein
       $ wp_query-> set ('order', 'ASC');
     }
   }
 }
 add_action ('pre_get_posts', 'set_custom_post_types_admin_order');

Aktualisieren

Informationen zur validation vor dem Speichern finden Sie in dieser Antwort: https://wordpress.stackexchange.com/a/40095/4645, in der Ihre Optionen erläutert werden. Grundsätzlich kommt es auf benutzerdefinierte jQuery an, da WordPress keine pre-save Hooks hat.

Auch hier (um meinen früheren Kommentar für zukünftige Referenz zu duplizieren), erfahren Sie, wie Sie das Feld “Menüreihenfolge” im Admin anzeigen, so dass es wie für Seiten benutzerdefinierbar ist: Hinzufügen der Spalte “Menüfolge” zum benutzerdefinierten Post-Admin-Bildschirm