wake-up-neo.net

Benutzerdefinierter Beitragstyp - Auftragsfeld

Gibt es in einem benutzerdefinierten Beitragstyp eine Möglichkeit, das für Seiten verfügbare Feld "Reihenfolge" einzuschließen?

Gibt es eine integrierte Logik, die doppelte Werte im Feld "Reihenfolge" verhindert?

Die Idee besteht darin, einen benutzerdefinierten Beitragstyp nach einer benutzerdefinierten Reihenfolge und anschließend alphabetisch nach einem auf Zeichenfolgen basierenden benutzerdefinierten Feld sortieren zu können.

11
Force Flow

Wenn Sie Ihren benutzerdefinierten Beitragstyp mit der Funktion register_post_type deklarieren, müssen Sie dem Unterstützungsfeld 'Seitenattribute' hinzufügen, wie im folgenden Beispiel gezeigt:

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

Sie müssen weitere unterstützte Meta-Boxen zum Feld "Unterstützungen" hinzufügen. Weitere Informationen zu den Feldern "register_post_type" finden Sie unter http://codex.wordpress.org/Function_Reference/register_post_type .

Soweit ich weiß, gibt es keine Möglichkeit, zwei gleiche Reihenfolgen zu verhindern. Dies liegt daran, dass Sie eine Unterreihenfolge basierend auf der Hierarchie erstellen können (eine Gruppe von untergeordneten Seiten kann also eine andere Reihenfolge haben als eine andere).

23
Dave Hunt

Neben der 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 Mark Leongs Blog-Post. ) Deaktivieren Sie das Kontrollkästchen is_admin(), wenn Sie möchten, dass Sie auch im Front-End "order_by" festlegen.

 Funktion set_custom_post_types_admin_order ($ wp_query) {
 if (is_admin ()) {
 
 // Hole den Post-Typ aus der Abfrage 
 $ post_type = $ wp_query-> frage ['post_type'] ab; 
 
 if ($ post_type == 'POST_TYPE') {
 
 // 'orderby' value can ein beliebiger Spaltenname sein 
 $ wp_query-> set ('orderby', 'title'); 
 
 // 'order'-Wert kann ASC oder DESC sein 
 $ wp_query-> set ('order', 'ASC'); 
} 
} 
} 
 add_action ('pre_get_posts', 'set_custom_post_types_admin_order'); 

Update

Informationen zur Überprüfung vor dem Speichern finden Sie in der folgenden Antwort: https://wordpress.stackexchange.com/a/40095/4645 Hier werden Ihre Optionen erläutert. Grundsätzlich kommt es auf benutzerdefinierte jQuery an, da WordPress keine Pre-Save-Hooks hat.

Außerdem (Duplizieren meines vorherigen Kommentars hier zum späteren Nachschlagen) erfahren Sie, wie Sie das Feld "Menüreihenfolge" im Administrator anzeigen, damit es vom Benutzer bearbeitet werden kann, wie es für Seiten gilt: Hinzufügen der Spalte "Menüreihenfolge" zum benutzerdefinierten Beitragstyp Admin-Bildschirm

3
marfarma