it-swarm.dev

Vlastní hierarchická taxonomie ztrácí hierarchii rozhraní při výběru rodičů a dětí

Mám vlastní hierarchickou taxonomii, která se nazývá „Kategorie“, ale slouží jiné oblasti webu než výchozí taxonomie „Kategorie“. Problém, který mám, je s výběrem výrazů pro děti v rozhraní při publikování obsahu. Pokud uživatel vybere a použije výrazy pro děti, přesunou se na začátek pole Kategorie a ztratí přidružení a vizuální hierarchii s nadřazeným. Zde je obrázek ukazující, co se děje:

Checked categories are moved to the top of the list, breaking the hierarchy

Nestanovil jsem žádné neobvyklé parametry, o kterých vím, že je to volání register_taxonomy:

register_taxonomy( "workshop_categories", 'workshop',
    array(
        "label" => "Categories",
        "singular_label" => "Category",
        "rewrite" => true,
        "show_ui" => "true",
        'hierarchical' => true,
        'rewrite' => array('slug' => 'category')
    )
);

Každý vstup je oceněn!

1
Gavin

To se zdá být normální, to se také děje pro kategorie. wp_terms_checklist() , který vytváří kontrolní seznam, má ve výchozím nastavení argument checked_ontop, povolený. Metabox nepředepisuje , takže kontrolované kategorie nebo vlastní výrazy se vždy zobrazí v horní části seznamu. Nemá to vliv na jejich skutečnou hierarchii, pouze na to, jak jsou zde zobrazeny. Zdá se, že zbývající položky hierarchie, které „ztratili“ své rodiče, se přidávají ke dnu.

Nemyslím si, že existuje rozumný způsob, jak to potlačit, pokud nechcete duplikovat celý kód meta boxu.

1
Jan Fabry

To lze provést pomocí tohoto háku, pokud někdo stále hledá řešení.

function ya_disable_popular_ontop($args) {
   //If this is your required taxonomy then disable the popular on top.
    if($args['taxonomy'] == 'YOUR-TAXONOMY'){
        $args['checked_ontop'] = false;
    }
    return $args;
}
add_filter('wp_terms_checklist_args','ya_disable_popular_ontop');
2
Yamu

Trochu pozdě, ale pokud se s tím někdo setká, vyřeší se tímto příspěvkem zde: Uživatelské rozhraní hierarchické taxonomie

1
Constant Meiring

Nejste si jisti, jestli mohu posílat externí odkazy zde, ale já jsem vyřešil pro vlastní taxonomie nebo vnitřní kategorie WordPressu.

0
Elliot