it-swarm.com.de

Der Listenbaum der Kategorie-Kontrollkästchen ändert sich beim Bearbeiten eines Beitrags

Ich richte die Kategorien für meine Website ein und habe sie so:

Original categories order

Das war's, ich habe gleichnamige Kinder, die aber nicht austauschbar sind. Wenn das Fehler sind, denken Sie einfach, dass sie unterschiedliche Namen haben.

Dann gehe ich zu einem Beitrag und möchte ihm Kategorien hinzufügen. Jetzt ist der Baum komplett verschwunden und die Reihenfolge der Kategorien ist komplett durcheinander:

categories inside post

Warum passiert dies? Es ist nicht immer so, manchmal zeigt sich der Baum schön, aber dieses Verhalten ist nicht konsistent. Ich habe dies unzählige Male in anderen Blogs gesehen und bisher habe ich dieses Verhalten einfach ignoriert, da ich (oder der Webadministrator) feststellen konnte, welche Kategorie untergeordnet zu welchem ​​Elternteil gehört. Dies ist jedoch nicht der Fall, da sich einige Namen wiederholen. Auch wenn meine Kategorien möglicherweise nicht die beste Vorgehensweise sind, ist es für den Endbenutzer möglicherweise nicht transparent, dass eine Kategorie ein Kind einer anderen ist, wenn der Baum so zerbrochen ist, oder?

BEARBEITEN: Dies passiert nur, wenn ich einen Beitrag bearbeite und wenn ich einen neuen hinzufüge, ist alles in Ordnung und gut:

enter image description here

4
Elaine Marley

Die Kategorieliste verwendet die Funktion wp_terms_checklist () in wp-admin/includes/template.ph p in Zeile 90. Der Parameter "checked_ontop" wird auf true gesetzt. Die markierten Kontrollkästchen werden also oben angezeigt.

Das passiert nur, wenn ich einen Beitrag bearbeite, wenn ich einen neuen hinzufüge, ist alles in Ordnung und gut

Das liegt daran, dass beim Erstellen eines Posts keine der Kategorien überprüft wird und die Liste intakt bleibt. Wenn Sie jedoch eine Kategorie speichern, wird sie oben angezeigt, da "checked_ontop auf true gesetzt ist".

Sie können dies verhindern, indem Sie den Parameter checked_ontop in false ändern, indem Sie dies zu Ihrer theme function.php hinzufügen.

function wpse_prevent_on_top_cat() {
    // Run only in admin
    if( is_admin() && add_action('wp_terms_checklist_args', 'wpse_prevent_on_top_cat') ) {
        // Change checked_ontop to false
        $args['checked_ontop'] = false;
        // Return the new parameter
        return $args;
    }
}

Oder installieren Sie einfach mein einfaches Plugin unter folgendem Code: https://github.com/pontusab/WordPress-Category-List

Das Ergebnis:

enter image description here

4

Ich sehe, dass Sie alle übergeordneten Kategorien für Ihren Beitrag ausgewählt haben. Wenn Sie einen neuen Beitrag hinzufügen, wird die Reihenfolge beibehalten. Wenn Sie jedoch einen solchen Beitrag bearbeiten, werden die mit dem Beitragsstapel verknüpften Kategorien oben und die übrigen Kategorien unten angezeigt. Wenn Sie die übergeordneten Kategorien ausgewählt haben, geht deren Zuordnung zu den untergeordneten Kategorien verloren und sie werden daher nicht richtig angezeigt. Dieses Verhalten ist nur beabsichtigt.

2
navjotjsingh