Elementor Pro: verander sortering Portfolio filterbalk

Sortering portfolio filterbalk

code ‘hack’ voor Elementor Pro page builder

Elementor Page Builder WordPressElementor 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.