Keď tvoríš šablónu pre single post v Elementore, a chceš tam pichnúť podobné články, jednoducho musíš použiť element POSTS a v ňom v sekcií Query zvoliť „Related“. Bohužiaľ, Elementor nevie takú základnú vec, ako zabezpečiť, aby sa ti do related ťahali len články z rovnakej kategórie, alebo s rovnakou značkou. Týmto snippetom si to upravíš.
add_action( 'elementor/query/lava_custom_filter', function( $query ) {
//get ID of current post
$id = get_queried_object_id();
// get current taxonomy - in this case the category
$tax = get_the_terms( $id, 'category');
$tax_query = array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $tax[0]->slug,
),
);
$query->set( 'tax_query', $tax_query );
} );

Je potrebné zároveň query-id hodiť na custom query v elementore v danom elemente.
V kóde na riadku č.1 je toto:
add_action( ‚elementor/query/lava_custom_filter‚, function( $query ) {
Hrubým som vyznačil názov query ID. Čiže toto si môžeš pomenovať ako chceš.
V skratke to funguje asi tak: Vyberieme z query id článku a id jeho kategórií (platí aj pre značky btw…)
Následne injectneme do query prvú kategóriu, takže query vyberie len tie články, ktoré spadajú do rovnakej kategórie ako aktuálne otvorený single článok.
Z toho vyplýva, že sa aplikuje len prvá taxonómia. Ak by sme chceli aplikovať všetky, trebalo by ešte viac s kódom čarovať. Verím, že toto bude stačiť pre základné použitie.