Related články len z rovnakej kategórie

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. 

Podobné články

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *