Vícenásobné řazení v QUERY podle custom fields

/—code php
$q = new WP_Query( array(
‚meta_query‘ => array(
‚relation‘ => ‚AND‘,
‚state_clause‘ => array(
‚key‘ => ‚state‘,
‚value‘ => ‚Wisconsin‘,
),
‚city_clause‘ => array(
‚key‘ => ‚city‘,
‚compare‘ => ‚EXISTS‘,
),
),
‚orderby‘ => array(
‚city_clause‘ => ‚ASC‘,
‚state_clause‘ => ‚DESC‘,
),
) );
\—

„Zdroj »“:https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/

Řazení příspěvků vč. custom post-types

**Post Types Order**
„http://wordpress.org/extend/plugins/post-types-order/“:http://wordpress.org/extend/plugins/post-types-order/

Order Posts and Post Types Objects using a Drag and Drop Sortable JavaScript capability. It allow to reorder the posts for any custom post types you defined, including the default Posts. Also you can have the admin posts interface sorted per your new sort.

[* http://s.wordpress.org/extend/plugins/post-types-order/screenshot-1.png?r=683158 *]

 

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_categories() 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_categories() 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_categories() 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_categories() 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í stránek

**My Page Order**
„http://wordpress.org/extend/plugins/my-page-order/“:http://wordpress.org/extend/plugins/my-page-order/
„http://geekyweekly.com/mypageorder“:http://geekyweekly.com/mypageorder

Allows you to set the order of pages through a drag and drop interface. The default method of setting the order page by page is extremely clumsy, especially with a large number of pages. The plugin also installs a replacement widget that exposes all the options of the wp_list_pages template function.

Řazení rubrik

**My Category Order**
„http://wordpress.org/extend/plugins/my-category-order/“:http://wordpress.org/extend/plugins/my-category-order/
„http://geekyweekly.com/mycategoryorder“: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:

/—code php
wp_list_categories(‘orderby=order&title_li=’)
\—

**Category Order**
„http://wordpress.org/extend/plugins/order-categories/“:http://wordpress.org/extend/plugins/order-categories/
„http://wpguy.com/plugins/category-order/“:http://wpguy.com/plugins/category-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“:https://wordpresso.ovx.cz/wp-et.php je implementováno řazení podle názvu nebo ID, je tedy potřeba v šabloně *header.php* vymazat
/—code php
sort_column=$artsee_sort_cat&sort_order=$artsee_order_cat
\—

v řádku s 

/—code php
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/extend/plugins/wp-smart-sort/“:http://wordpress.org/extend/plugins/wp-smart-sort/
„http://dyasonhat.com/wp-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/extend/plugins/my-link-order/“:http://wordpress.org/extend/plugins/my-link-order/
„http://www.geekyweekly.com/mylinkorder“:http://

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.