Změna pořadí výpisu custom post type příspěvků
WordPress standardně vše vypisuje dle data publikování od nejnovějšího k nejstaršímu. Co když potřebujeme příspěvky v jejich archivu seřadit třeba dle názvu a vzestupně? Stačí následující funkce „zaháknout“ k akci „pre_get_posts“ třeba v souboru functions.php.
1 2 3 4 5 6 7 8 9 10 11 |
function mklusak_pre_get_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) // jde-li o výpis v adminu nebo jiný než hlavní, končím return; if ( $query->is_post_type_archive( 'muj-post-type' ) ) { $query->set( 'orderby', 'title' ); // budeme řadit dle názvu příspěvku $query->set( 'order', 'ASC' ); // podle abecedy od A do Z $query->set( 'posts_per_page', -1 ); // a vypíšeme úplně vše na jedné stránce (třeba) } } add_action('pre_get_posts', 'mklusak_pre_get_posts' ); |
Funkci nechceme spouštět v administraci (ale také to může být užitečné), a jenom na hlavním dotazu/query.
Pokud aktuální dotaz zpracovává výpis archivu našeho custom post type, tak změníme některé hodnoty.
Více není potřeba.
Vlastní obsah TITLE tagu pro custom post type → Všechny WordPress kódy