Skip to content

Alt om WordPress, webutvikling — og mer til

🔗 Relaterte innlegg i Elementor via et tilpasset spørringsfilter

🔗 Relaterte innlegg i Elementor via et tilpasset spørringsfilter

Standardskjemaet for innlegg i Elementor Pro kan gjøre tre ting: siste innlegg, etter kategori og en manuell liste. Men når du trenger en «Relaterte innlegg»-blokk under en artikkel, som matcher gjeldende innlegg etter stikkord og kategorier, finnes det ikke noe innebygd alternativ. Riktignok har kilde-nedtrekksmenyen hatt et «Relatert»-element siden versjon 2.5, men logikken er primitiv: innlegg fra de samme kategoriene uten hensyn til treffvekt. Resultatet er forutsigbart: blokken ser ut som et tilfeldig utvalg snarere enn en meningsfull anbefaling.

Målet: beholde kortdesignet fra Elementor, men overlate spørringen til en tredjeparts plugin som beregner relevans på tvers av alle tilknyttede taksonomier samtidig. Resultatet er en «Relaterte innlegg»-blokk der hvert neste innlegg er genuint nærmere det leseren ser på akkurat nå, i stedet for bare å fylle rutenettet.

Metoden kjører på ren PHP, uten ekstra tillegg og uten malredigering. Elementor rendrer kortet, pluginen Related Posts By Taxonomy beregner ID-ene, og kroken elementor/query/{$query_id} binder de to sammen. Ti minutters oppsett, og blokken er i drift.

💡 Rask oversikt:

  • Installer gratispluginen Related Posts By Taxonomy: den finner relaterte innlegg etter delte kategorier, stikkord og egendefinerte taksonomier, uten frontend-overhead.
  • I innleggsskjemaet i Elementor Pro setter du en unik Query ID; denne strengen blir kroknavnet for å avskjære WP_Query.
  • Legg til en PHP-snutt på nettstedet ditt: funksjonen henter en matrise med ID-er fra pluginen og sender den til Elementor-spørringen via post__in.
  • Finjuster antall, sorteringsrekkefølge, utdatamal og mellomlagring gjennom pluginens filtre for å passe dine behov.

Pluginen Related Posts By Taxonomy har ligget i det offisielle WordPress.org-repositoriet siden 2014. Per juni 2026, versjon 2.7.9, testet opp til WordPress 7.0, 10 000+ aktive installasjoner. Forfatteren, Kees Meijer, vedlikeholder pluginen jevnlig: den siste utgivelsen kom bare dager før denne publikasjonen.

Det viktigste salgsargumentet er et minimalt fotavtrykk. Intet adminpanel i dashbordet, ingen ekstra skript på frontend, ingen databaseskriving. All konfigurasjon gjøres gjennom filtre og shortcode-attributter. For en utvikler er dette et pluss: en ren installasjon, forutsigbar oppførsel, null oppblåsthet.

Algoritmen rangerer innlegg etter antall delte taksonomitermer. Et innlegg som oppnår flest treff på kategorier og stikkord med gjeldende artikkel får høyest prioritet. Pluginen fungerer ikke bare med standard kategorier og stikkord; den plukker opp egendefinerte taksonomier registrert gjennom WooCommerce, ACF eller CPT UI. Og siden den støtter egendefinerte innleggstyper, kan «Relaterte innlegg»-blokken vises på porteføljesider og i egendefinerte seksjoner også.

Sette opp innleggsskjemaet i Elementor

Legg til Innlegg-skjemaet fra Elementor Pro-biblioteket på din enkeltinnlegg-mal-side. Konfigurer utseendet (Kort eller Klassisk) og få designet du ønsker: uthevet bilde, tittel, dato, utdrag. På dette stadiet viser skjemaet de siste blogginnleggene, og det er forventet.

Nå kommer nøkkelsteget. I redigeringssidefeltet åpner du Spørring-fanen. Finn Query ID-feltet og skriv inn en unik identifikator, for eksempel related_posts_by_tax. Denne nøyaktige strengen blir kroknavnet elementor/query/related_posts_by_tax, som vi vil bruke til å avskjære spørringen.

Felt for spørrings-ID i innstillingene for innlegg-widgeten i Elementor Pro

Query ID-parameteren har vært tilgjengelig i Elementor Pro siden versjon 2.0. Den ble designet spesifikt for utviklere: du setter en strengidentifikator og fester deretter tilbakekallingsfunksjonen din til kroken elementor/query/{your_id}. Detaljert dokumentasjon finnes på Elementors utviklerportal.

La de resterende spørringsinnstillingene (Innleggstype, Taksonomier, Sorter etter) stå som de er. De fortsetter å gjelde, og vårt filter legges på toppen. For eksempel, hvis skjemaets innleggstype er satt til «Innlegg», vil Related Posts By Taxonomy-pluginen kun søke etter relaterte oppføringer blant blogginnlegg.

PHP-snutt: koble sammen de to pluginene

Koden består av ett enkelt add_action-kall og en kort funksjon. Den kaller km_rpbt_get_related_posts()-metoden fra pluginen, henter en matrise med relevante innleggs-ID-er og sender den til WP_Query via post__in-parameteren.

Legg til snutten i barnetemaets functions.php eller gjennom Code Snippets-pluginen:

1/**
2 * Replaces the Elementor Posts widget query with related posts.
3 * Uses the Related Posts By Taxonomy plugin.
4 *
5 * @param \WP_Query $query The Elementor query object.
6 */
7add_action( 'elementor/query/related_posts_by_tax', 'sdstudio_related_posts' );
8function sdstudio_related_posts( $query ) {
9 global $post;
10
11 $related_ids = km_rpbt_get_related_posts(
12 $post->ID,
13 array( 'fields' => 'ids' )
14 );
15
16 if ( ! empty( $related_ids ) ) {
17 $query->set( 'post__in', $related_ids );
18 $query->set( 'orderby', 'post__in' );
19 }
20}

Linje-for-linje-gjennomgang:

  • elementor/query/related_posts_by_tax er kroken hvis navn samsvarer med Query ID-en i skjemaet. Hvis du brukte en annen ID, bytt ut strengen.
  • global $post gir tilgang til gjeldende innlegg, som fungerer som utgangspunkt.
  • km_rpbt_get_related_posts() er plugin-funksjonen som returnerer en matrise med relaterte innleggs-ID-er. Parameteren 'fields' => 'ids' gjør spørringen raskere: pluginen henter ikke fulle objekter.
  • $query->set( 'post__in', $related_ids ) begrenser WP_Query strengt til kun de funnede innleggene.
  • $query->set( 'orderby', 'post__in' ) bevarer rekkefølgen returnert av pluginen, fra mest relevant til minst.

Teknisk sett kjøres to spørringer: først finner pluginen ID-ene, deretter henter Elementor de fulle objektene etter disse ID-ene. I praksis, med 3-5 relaterte innlegg er overheaden ubetydelig. For maksimal ytelse, aktiver pluginens alternativ for vedvarende mellomlager; det mellomlagrer resultater for en spesifisert varighet.

Finjustering av utdataene

Snutten over er grunnversjonen. Herfra kan spørringen tilpasses dine spesifikke behov.

Begrense antallet. Som standard returnerer pluginen opptil 5 innlegg. For å endre grensen, send med parameteren posts_per_page:

1$related_ids = km_rpbt_get_related_posts(
2 $post->ID,
3 array(
4 'fields' => 'ids',
5 'posts_per_page' => 3,
6 )
7);

Ekskludere gjeldende innlegg. Pluginen gjør dette automatisk, men hvis du vil ha en ekstra sikring, legg til $query->set( 'post__not_in', array( $post->ID ) ).

Begrense etter dato. Vis kun innlegg fra de siste 12 månedene:

1$related_ids = km_rpbt_get_related_posts(
2 $post->ID,
3 array(
4 'fields' => 'ids',
5 'limit_month' => 12,
6 )
7);

Endre utdatamalen. Pluginen støtter egendefinerte HTML-maler gjennom rpbt_template-filteret. Plasser en related-posts-by-taxonomy.php-fil i temamappen din, så er markeringen helt din egen. Dokumentasjon med eksempler finnes på forfatterens nettsted; for en gratis plugin er den imponerende detaljert.

Ajax-modus. Hvis relaterte innlegg-blokken sitter langt under skjermkanten, aktiver lat lasting via rpbt_ajax_load-filteret; pluginen vil hente innlegg asynkront uten å påvirke First Contentful Paint.

Denne videoen fra Elementor-teamet demonstrerer avansert spørringshåndtering i praksis, inkludert utvalg av relaterte innlegg og datofiltrering:

⁉️🤔 Ofte stilte spørsmål

Er Elementor Pro nødvendig for denne metoden?

Ja, det egendefinerte spørringsfilteret elementor/query/{$query_id} er kun tilgjengelig i Elementor Pro. Gratisversjonen har ikke et innleggsskjema med et Query ID-felt.

Hva om pluginen ikke finner noen relaterte innlegg?

Sørg for at innleggene dine deler felles taksonomier. Pluginen ser etter treff på tvers av alle offentlige taksonomier knyttet til innleggstypen. Hvis innlegg er spredt over ikke-overlappende kategorier, vil det ikke være noen relaterte innlegg. Sett opp en reserve: vis for eksempel de siste innleggene fra samme kategori.

Kan denne tilnærmingen brukes med egendefinerte innleggstyper?

Ja. Spesifiser ønsket innleggstype i Elementor-skjemaets spørringsinnstillinger, så vil Related Posts By Taxonomy-pluginen automatisk plukke opp taksonomiene registrert for den typen. Metoden fungerer med porteføljer, WooCommerce-produkter og enhver CPT.

Fungerer metoden med et blokktema (Full Site Editing)?

Elementor Pro sitt innleggsskjema avhenger ikke av temaet; det fungerer i både klassiske temaer og blokktemaer. Nøkkelkravet er at enkeltinnlegg-malen administreres gjennom Elementor Theme Builder.

Hvordan er denne metoden bedre enn det innebygde «Relatert»-alternativet i Elementor?

Det innebygde alternativet filtrerer ganske enkelt innlegg etter de samme kategoriene, uten å ta hensyn til antall treff og uten støtte for egendefinerte taksonomier. Related Posts By Taxonomy rangerer innlegg på tvers av alle tilknyttede taksonomier samtidig og returnerer de mest relevante, ikke bare «fra samme kategori».

Er det manuelle filteret verdt innsatsen

På små blogger med en håndfull kategorier er det innebygde «Relatert»-alternativet i Elementor Pro mer enn nok. Men så snart egendefinerte taksonomier, flere innleggstyper eller behovet for å presist kontrollere matchingslogikken dukker opp, blir et manuelt filter via elementor/query/{$query_id} den eneste rene løsningen, uten å kjøpe ekstra tillegg.

Related Posts By Taxonomy-pluginen løser problemet til null kostnad og legger ikke til ekstra kode på frontend. Oppsett tar 10 minutter, og resultatet er en relevant «Relaterte innlegg»-blokk som holder besøkende på nettstedet ditt lenger enn et tilfeldig utvalg av nylige publikasjoner.

Prøv det i et testmiljø: spinn opp en lokal WordPress, installer pluginen og Elementor Pro, legg til snutten og bekreft at metoden fungerer nøyaktig slik du trenger.