Řazení

Ruční řazení příspěvků, vlastních typů obsahu i taxonomií přetažením

Řazení přidá pro každý zapnutý typ obsahu i taxonomii vlastní stránku „Pořadí“ s přetahováním myší i šipkami. U taxonomií jde přetažením měnit i nadřazený term — jinými slovy, kategorie jde přesunout do jiné kategorie stejně snadno jako přeřadit.

Ukázka modulu Řazení — vnořený strom kategorií s přetahováním
Ukázka modulu Řazení — vnořený strom kategorií s přetahováním

Hlavní funkce

  • Vlastní stránka „Pořadí“ pro každý zapnutý typ obsahu — žádné míchání s běžným seznamem
  • Řazení přetažením i pomocí šipek nahoru/dolů (přístupné i bez myši)
  • U taxonomií vnořený strom s přeskupováním úrovní (reparenting) přímo přetažením
  • Sbalitelné (accordion) větve stromu pro přehlednost u větších taxonomií
  • Nastavitelný počet položek na stránku (výchozí 50)
  • Vývojářský mód: přímo na stránce se zobrazí hotová ukázková query pro řazený výpis
  • Posty se řadí přes nativní sloupec menu_order, termy přes vlastní term meta

Jak to funguje

Pro posty modul filtruje admin dotaz na `orderby=menu_order` a uloží pořadí přes `wp_update_post`. Pro termy, které nativní sloupec pro pořadí nemají, se hodnota ukládá do term meta `_smrk_term_order` a do výpisu se zapojuje přes filtr `terms_clauses` — přímý JOIN na `wp_termmeta`, ne přes `pre_get_terms`, protože WordPress si `meta_query` pro řazení sestavuje dřív, než tenhle hook vůbec proběhne.

Přeřazení termu do jiné kategorie (drag do jiné větve stromu) volá `wp_update_term()` se změněným `parent`, takže se hierarchie mění opravdu na úrovni WordPress taxonomie, ne jen vizuálně.

Srovnání s alternativami

Alternativa k pluginům Intuitive Custom Post Order nebo Simple Page Ordering — s navíc podporou řazení uvnitř taxonomií.

Časté dotazy

Funguje to i na hierarchických stránkách (page)?
Stránky modul záměrně vynechává — tam řazení nadřazenosti řeší už samotné jádro WordPressu.
Jak seřazené pořadí použiju na frontendu?
Stačí ve vlastní query nastavit orderby=menu_order (posty), nebo použít meta_key/meta_value_num podle vzorové query přímo na stránce Pořadí v developerském módu.
Co se stane, když modul vypnu?
Uložené pořadí (menu_order i term meta) zůstane zachované — modul jen přestane hookovat, nic nemaže.