Sortering portfolio filterbalk
code ‘hack’ voor Elementor Pro page builder
Elementor is een uitstekende en gebruiksvriendelijke Page Builder voor WordPress. Er is een pro-versie met onder meer een Portfolio-module met filterbalk.
Sinds versie 1.5.5 van Elementor Pro worden de items in deze filterbalk gesorteerd op naam (A-Z). Helaas is dat de standaard en er is geen manier om dat in de instellingen te veranderen.
Maar wat als u een andere sortering wilt? Bijv. op het aantal berichten in een categorie, de volgorde van items in de back-end (menu-volgorde) of alleen de standaardvolgorde van WordPress, op datum.
Deze ‘hack’ betreft een wijziging in een core-bestand van Elementor Pro. Maak er dus een notitie van, want deze wijziging wordt overschreven bij elke update van de plug-in.
De sortering van de filterbalk gebeurt in het bestand \elementor-pro\modules\posts\widgets\portfolio.php rond de regels 585-587. Het ziet er zo uit:
usort( $terms, function( $a, $b ) {
return strcmp( $a->name, $b->name );
} );
Om de sortering te veranderen naar de volgorde in het backend-menu, voert u de volgende wijziging door:
usort( $terms, function( $a, $b ) {
return $a->term_order - $b->term_order;
} );
Let op: hier gebruikt u NIET ‘menu_order’, zoals gebruikelijk in een WP Query, maar ‘term_order’.
Sla het bestand op en zie de nieuwe sortering van de filterbalk!
Maar, zult u zich afvragen: “Hoe verander ik de volgorde van bijvoorbeeld categorieën?”
Daar is een handige gratis plug-in voor: Simple Custom Post Order.
Wij vinden dat Elementor sortering van de filterbalk als optie moet toevoegen, net als bij de volgorde van de portfolio-berichten zelf, zodat je een keuze hebt tussen bijvoorbeeld sorteren op ‘Datum’, ‘Titel’, ‘Aantal berichten’, ‘Menuvolgorde’ of ‘Willekeurig’.
Als u meer wilt weten over de ‘usort’-functie in PHP, kunt u de PHP-handleiding lezen.