Vlastní řazení výpisu rubrik ve widgetech i funkcích

Použití rubrik, respektive jejich výpisu častou používáme k vytvoření navigace. Funkce wp_list_catego­ries() je snad každému tvůrci WordPress šablon známá. Tato funkce nám ovšem, stejně jako její „front-end“ ve widgetech, dává na výběr řazení dle následujících kritérií:

  • ID
  • name – Defaultní nastavení
  • slug
  • count
  • term_group
Vlastní řazení výpisu rubrik

Často by se nám ale hodilo vlastní řazení, ideálně takové, které si můžeme přizpůsobit. Od verze 3.0 máme ve WordPressu možnost vytvářet uživatelská menu, čímž lze toto vlastní řazení nahradit (O WordPress menu bude některý další příspěvek). Ovšem existuje také jednoduchý plugin – My Category Order -, který nám do navigačního menu v administraci do sekce „Příspěvky“ přidá položku „Pořadí rubrik“, kde si pořadí můžeme namixovat dle svých představ jednoduchým „drag & drop“ (tažením, jak se hezky česky překládá)

Tohoto pluginu můžeme poté využít ve widgetech. Sem již česká lokalizace nedorazila a tak máme k dispozici widget „My Category Order“ s volbou Order by: „My order“ zohledňující naše pořadí.

Ovšem jak již titulek napovídá, lze naše pořadí zohlednit i při použití funkce wp_list_catego­ries() a to přidáním parametru ‘orderby=order’ (namísto například orderby=slug či orderby=name).

Nevýhody užití pluginu oproti řešení dle WordPress Menu

Jistou, i když drobnou a odstranitelnou, nevýhodou u tohoto postupu, oproti wordpress menu, je nemožnost tažením při sestavování pořadí, nějakou tu rubriku vyjmout (to při použití wordpress menu lze). Ovšem i rozhraní widgetu nabízí možnosti „Vyjmout“ (sem čeština dorazila) a „Exclude Tree“ (sem nedorazila :) ). Samozřejmě při použití funkce wp_list_catego­ries() používáme analogicky ‘exclude=1,2′ a ‘exclude_tree=1′. Jak jsem již psal, při použití wordpress menu máme posléze možnost skrze administraci bez zásah do šablony jednoduše kategorie vyjmout. A není nutné to navíc, při použití jak ve widgetu tak v šabloně, nastavovat na dvou místech.

Poznámka: Rozdíl mezi ‘exclude’ a ‘exclude_tree’ – Při užití exclude se z výpisu vyjme jen a pouze kategorie s korespondujícím ID. Při použití exclude_tree se vyjme kategorie s korespondujícím číslem, ale také všechny její podkategorie (subcategories).

Ošetření pro případ nezapnutného pluginu

Použití tohoto pluginu v šabloně není navíc nutné ošetřovat pomocí function_exists() či is_plugin_active() funkcí. Pakliže plugin nebude aktivní, funkce wp_list_catego­ries() v šabloně s nastaveným ‘orderby=order’ bude tento parametr ignorovat a výpis provede dle defaultní hodnoty parametru orderby ‘orderby=name’ (čili vypíše kategorie seřazené dle názvu).

Změna pořadí stránek přetáhnutím myší


Potřebujete-li co nejjednodušeji změnit pořadí stránek, mohly by vám být k užitku plugin Simple Page Ordering. Po aktivaci můžete v menu stránek jednak snadno upravit počet zobrazovaných stránek na aktuální "obrazovce" (filtrování od 10 přes 100 až po všechny). Posunutím myší (drag and drop) pak změníte pořadí stránek. Pořadí se změní samozřejmě i v menu [...]

Řazení rubrik

My Category Order
http://wordpress.org/…egory-order/
http://geekyweekly.com/mycategoryorder

Allows you to set the order in which categories will appear in the sidebar. Uses a drag and drop interface for ordering. Adds a widget with additional options for easy installation on widgetized themes.

Případně třeba v sidebaru upravit takto:

wp_list_categories(‘orderby=order&title_li=’)

Category Order
http://wordpress.org/…-categories/
http://wpguy.com/…egory-order/

The Order Categories plugin allows you to easily reorder your categories the way you want via drag and drop.

V šablonách od Elegant Themes je implementováno řazení podle názvu nebo ID, je tedy potřeba v šabloně header.php vymazat

sort_column=$artsee_sort_cat&sort_order=$artsee_order_cat

v řádku s

wp_list_cats("sort_column=...);

Korektně ale se šablonou Pure Type funguje pouze plugin Category order.

Řazení příspěvků podle libovolného pole

WP Smart Sort
http://wordpress.org/…-smart-sort/
http://dyasonhat.com/wp-smart-sort/

For advanced sorting of posts in your blog. The administrator can choose to include any field from the wp_posts table to sort by, any custom field and additionally can identify where a field is numeric or not (defaults to text).

The default sort direction for your blog can be changed to any of the chosen field either Ascending or Descending. "Sort By" widget enables your users to select from a drop down box which direction they wish to sort posts by. Demo site over at http://wpsmartsort.dyasonat.com

Řazení odkazů

My Link Order
http://wordpress.org/…-link-order/
http://www.geekyweekly.com/mylinkorder

My Link Order allows you to set the order in which links and link categories will appear in the sidebar. Uses a drag and drop interface for ordering. Adds a widget with additional options for easy installation on widgetized themes.

Implementováno na tomto webu. Pozor, v případě použití widgetů je třeba v sidebaru použít widget tohoto pluginu.