Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔗 Seotud postitused Elementoris kohandatud päringufiltri kaudu

🔗 Seotud postitused Elementoris kohandatud päringufiltri kaudu

Tavaline Postituste vidin Elementor Pro versioonis suudab teha kolme asja: hiljutised postitused, kategooria järgi ja käsitsi loend. Kuid kui vajad artikli alla „Seotud postitused" plokki, mis sobitab praeguse postituse siltide ja kategooriate järgi, siis sisseehitatud võimalust pole. Jah, Allika rippmenüüs on alates versioonist 2.5 olnud „Seotud" kirje, kuid loogika on primitiivne: postitused samadest kategooriatest, arvestamata vastavuse kaalu. Tulemus on etteaimatav: plokk näeb välja nagu juhuslik valik, mitte tähendusrikas soovitus.

Eesmärk: säilitada Elementori kaardi kujundus, kuid anda päring üle kolmanda osapoole pluginile, mis arvutab asjakohasuse kõigi lisatud taksonoomiate lõikes korraga. Tulemuseks on „Seotud postitused" plokk, kus iga järgmine postitus on lugejale hetkel vaadatavaga tõeliselt lähedasem, selle asemel et lihtsalt ruudustikku täita.

Meetod töötab puhtal PHP-l, ilma lisavidinate ja mallide redigeerimiseta. Elementor renderdab kaardi, Related Posts By Taxonomy plugin arvutab ID-d ja elementor/query/{$query_id} konks seob need kaks kokku. Kümme minutit seadistamist ja plokk on üleval.

💡 Kiire ülevaade:

  • Paigalda tasuta plugin Related Posts By Taxonomy: see leiab seotud postitusi jagatud kategooriate, siltide ja kohandatud taksonoomiate järgi, ilma esikülje ülekoormuseta.
  • Elementor Pro Postituste vidinas määra unikaalne Query ID; see string saab konksu nimeks WP_Query peatamiseks.
  • Lisa saidile PHP jupp: funktsioon hangib pluginilt ID-de massiivi ja edastab selle Elementori päringule post__in kaudu.
  • Häälesta arvu, sortimisjärjekorda, väljundmalli ja vahemälu plugina filtrite kaudu vastavalt vajadustele.

Related Posts By Taxonomy plugin on ametlikus WordPressi.org hoidlas olnud alates 2014. aastast. 2026. aasta juuni seisuga versioon 2.7.9, testitud kuni WordPress 7.0, 10 000+ aktiivset paigaldust. Autor Kees Meijer hoiab pluginat järjepidevalt: viimane väljalase tuli välja vaid päevi enne seda publikatsiooni.

Peamine müügiargument on minimaalne jalajälg. Puudub administraatori paneel armatuurlaual, puuduvad lisaskriptid esiküljel, puuduvad andmebaasi kirjutamised. Kogu seadistamine toimub filtrite ja lühikoodi atribuutide kaudu. Arendaja jaoks on see pluss: puhas paigaldus, etteaimatav käitumine, null üleliigsust.

Algoritm järjestab postitusi jagatud taksonoomia terminite arvu järgi. Postitus, mis kogub praeguse artikliga kõige rohkem vasteid kategooriates ja siltides, saab kõrgeima prioriteedi. Plugin ei tööta mitte ainult standardsete kategooriate ja siltidega; see võtab üles kohandatud taksonoomiad, mis on registreeritud WooCommerce'i, ACF-i või CPT UI kaudu. Ja kuna see toetab kohandatud postitüüpe, võib „Seotud postitused" plokk ilmuda ka portfoolio lehtedel ja kohandatud sektsioonides.

Postituste vidina seadistamine Elementoris

Lisa Elementor Pro teegist Postituste vidin oma Üksiku postituse malli lehele. Seadista kujundus (Kaardid või Klassikaline) ja saavuta soovitud disain: esiletõstetud pilt, pealkiri, kuupäev, väljavõte. Selles etapis kuvab vidin viimaseid blogipostitusi ja see on ootuspärane.

Nüüd võtmeetapp. Redigeerimise külgribal ava Päringu vahekaart. Leia Query ID väli ja sisesta unikaalne identifikaator, näiteks related_posts_by_tax. See täpne string saab konksu nimeks elementor/query/related_posts_by_tax, mida kasutame päringu peatamiseks.

Päringu ID väli Elementor Pro postituste vidina seadetes

Query ID parameeter on Elementor Pro-s saadaval alates versioonist 2.0. See oli loodud spetsiaalselt arendajatele: määrad stringi identifikaatori ja seejärel kinnitad oma tagasikutse funktsiooni elementor/query/{your_id} konksu külge. Üksikasjalik dokumentatsioon on Elementori arendajaportaalis.

Jäta ülejäänud Päringu seaded (Postitüüp, Taksonoomiad, Järjesta) nii, nagu need on. Need jätkuvalt rakenduvad ja meie filter lisatakse peale. Näiteks kui vidina Postitüüp on seatud valikule „Postitused", otsib Related Posts By Taxonomy plugin seotud kirjeid ainult blogipostituste hulgast.

PHP jupp: kahe plugina ühendamine

Kood koosneb ühest add_action kutsest ja lühikesest funktsioonist. See kutsub pluginast km_rpbt_get_related_posts() meetodit, hangib asjakohaste postituste ID-de massiivi ja edastab selle WP_Query-le post__in parameetri kaudu.

Lisa jupp oma alamteema functions.php faili või Code Snippets plugina kaudu:

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}

Rea kaupa selgitus:

  • elementor/query/related_posts_by_tax on konks, mille nimi ühtib vidina Query ID-ga. Kui kasutasid teistsugust ID-d, asenda string.
  • global $post annab juurdepääsu praegusele postitusele, mis on lähtepunktiks.
  • km_rpbt_get_related_posts() on plugina funktsioon, mis tagastab seotud postituste ID-de massiivi. Parameeter 'fields' => 'ids' kiirendab päringut: plugin ei hangi täisobjekte.
  • $query->set( 'post__in', $related_ids ) piirab WP_Query rangelt ainult leitud postitustega.
  • $query->set( 'orderby', 'post__in' ) säilitab plugina tagastatud järjekorra, kõige asjakohasemast kõige vähem asjakohaseni.

Tehniliselt käivitatakse kaks päringut: kõigepealt leiab plugin ID-d, seejärel hangib Elementor nende ID-de järgi täisobjektid. Praktikas on 3-5 seotud postituse korral ülekoormus tühine. Maksimaalse jõudluse saavutamiseks luba plugina püsiva vahemälu valik; see salvestab tulemused määratud ajaks vahemällu.

Väljundi peenhäälestus

Ülaltoodud jupp on põhiversioon. Siit edasi saab päringut kohandada vastavalt konkreetsetele vajadustele.

Arvu piiramine. Vaikimisi tagastab plugin kuni 5 postitust. Piirangu muutmiseks edasta posts_per_page parameeter:

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

Praeguse postituse välistamine. Plugin teeb seda automaatselt, kuid kui soovid lisakaitset, lisa $query->set( 'post__not_in', array( $post->ID ) ).

Kuupäeva järgi piiramine. Kuva ainult viimase 12 kuu postitusi:

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

Väljundmalli muutmine. Plugin toetab kohandatud HTML-malle rpbt_template filtri kaudu. Aseta oma teemakausta related-posts-by-taxonomy.php fail ja märgend on täielikult sinu oma. Dokumentatsioon koos näidetega on autori saidil; tasuta plugina kohta on see muljetavaldavalt üksikasjalik.

Ajax-režiim. Kui seotud postituste plokk asub lehe allosas kaugel, luba laisk laadimine rpbt_ajax_load filtri kaudu; plugin hangib postitused asünkroonselt, mõjutamata First Contentful Painti.

See Elementori meeskonna video demonstreerib täpsemat päringuhaldust tegevuses, sealhulgas seotud postituste valikut ja kuupäeva filtreerimist:

⁉️🤔 Korduma kippuvad küsimused

Kas selle meetodi jaoks on vaja Elementor Pro-d?

Jah, kohandatud päringufilter elementor/query/{$query_id} on saadaval ainult Elementor Pro-s. Tasuta versioonil ei ole Postituste vidinat koos Query ID väljaga.

Mis siis, kui plugin ei leia ühtegi seotud postitust?

Veendu, et sinu postitustel on ühiseid taksonoomiaid. Plugin otsib vasteid kõigi avalike taksonoomiate lõikes, mis on postitüübile lisatud. Kui postitused on jaotatud mittekattuvatesse kategooriatesse, ei leidu seotud postitusi. Seadista varuvariant: näiteks kuva uusimad postitused samast kategooriast.

Kas seda lähenemist saab kasutada kohandatud postitüüpidega?

Jah. Määra soovitud Postitüüp Elementori vidina Päringu seadetes ja Related Posts By Taxonomy plugin võtab automaatselt üles selle tüübi jaoks registreeritud taksonoomiad. Meetod töötab portfooliote, WooCommerce'i toodete ja mis tahes CPT-ga.

Kas meetod töötab plokiteemaga (Full Site Editing)?

Elementor Pro Postituste vidin ei sõltu teemast; see töötab nii klassikalistes kui ka plokiteemades. Peamine nõue on, et Üksiku postituse malli hallatakse Elementori teemaehitaja kaudu.

Kuidas on see meetod parem kui Elementori sisseehitatud „Seotud" valik?

Sisseehitatud valik lihtsalt filtreerib postitusi samade kategooriate järgi, arvestamata vastete arvu ja ilma kohandatud taksonoomiate toeta. Related Posts By Taxonomy järjestab postitusi kõigi lisatud taksonoomiate lõikes korraga ja tagastab kõige asjakohasemad, mitte lihtsalt „samast kategooriast".

Kas käsitsi filter on vaeva väärt

Väikestes blogides, kus on käputäis kategooriaid, on Elementor Pro sisseehitatud „Seotud" valik enam kui piisav. Kuid niipea kui ilmnevad kohandatud taksonoomiad, mitu postitüüpi või vajadus täpselt juhtida vastavusloogikat, muutub käsitsi filter elementor/query/{$query_id} kaudu ainsaks puhtaks lahenduseks, ilma täiendavate lisavidinate ostmiseta.

Related Posts By Taxonomy plugin lahendab probleemi nullkuluga ega lisa esiküljele lisakoodi. Seadistamine võtab 10 minutit ja tulemuseks on asjakohane „Seotud postitused" plokk, mis hoiab külastajaid sinu saidil kauem kui juhuslik valik hiljutisi publikatsioone.

Proovi seda testkeskkonnas: käivita kohalik WordPress, paigalda plugin ja Elementor Pro, lisa jupp ning kontrolli, et meetod töötab täpselt nii, nagu vajad.