WordPress: aanpassing van verwante poste

wordpress

As u WordPress gebruik, moet een van u vereiste invoegtoepassings die verwante Post inprop. Dit gesê, het ek opgemerk dat die hoeveelheid sleutelwoorde wat by my Daily Reads gepos word, die resultate van die verwante pos regtig skeefgetrek het.

Ek was ook baie verbaas dat die Plugins vir verwante poste slegs 'n lys met verwante plasings verskaf het voor die boodskap wat jy lees! Wat as u van plan verander (soos ek gereeld doen!) ... moet u nie ook plasings verskaf wat na die oorspronklike weergawe vrygestel is nie, maar wat nog steeds verband hou?

As gevolg hiervan het ek 'n paar klein aanpassings aan die invoegtoepassing gemaak. Ten eerste het ek reël 91 gewysig om van plasings na en na die huidige pos te verwys, van:

. "EN post_date> = '$ now'" na (UPDATE: 11/15/2011):. "EN post_date! = '$ Nou'". "EN na_datum <= CURDATE ()"

Tweedens word die Daily Reads op my blog outomaties deur Del.icio.us onder 'n spesifieke outeur geplaas (sodat ek nooit die wagwoord sal verander en die outomatiese plasing sal verbreek nie). Om dit te doen, het ek net nog 'n navraagparameter bygevoeg om die outeur uit die plasings waarna gesoek is, weg te laat deur die volgende reël na die vorige in te voeg:

. "AND post_author! = 4"

Ek het die outeurnommer gevind deur dit net in my gebruikers op te soek. Ek wil dinge eerder nie ingewikkeld maak deur by 'n ander tabel aan te sluit nie - dit kan die snelheid waarmee hierdie resultate vertoon word verminder en die laadtyd vertraag. Dit sal daartoe lei dat mense gefrustreerd raak en vertrek.

Die voordele van die vertoon van verwante poste

Verwante plasings is 'n fantastiese hulpmiddel vir enige blog. Verwante poste versterk die resultate van die soekenjins deur die sleutelwoorde te vergroot deur skakels, 'n belangrike element van soekenjinalgoritmes.

Verwante poste is nie net 'n SEM hulpmiddel, al is. Verwante plasings is 'n bewaringsinstrument wat gebruikers op u webwerf sal hou. Hulle sal dalk nie vind waarna hulle geland het nie, maar as u addisionele verwysings aan hulle verskaf, kan dit bly!

20 Comments

  1. 1

    Cool truuk. Ek het nie besef Related Posts kies net vorige bloginskrywings nie... Ek sal die inprop moet gaan redigeer. Dankie vir die kennisname en instruksies 🙂
    …en 'n gelukkige nuwe jaar!

  2. 2
  3. 3

    wow .. dit is 'n netjiese truuk. Selfs al het ek nie wasabi-verwante plasings-inprop nie, het ek Simple Tags-inprop vir verwante plasings en ek raai dit moet dieselfde postdate < toestand gebruik. Dankie vir die wenk, laat ek my inpropkode nagaan en kyk of ek dit kan aanpas om beter resultate te gee.

  4. 4

    Chandoo, Simple Tags gebruik nie 'n postdate-voorwaarde nie - ek glo dit skep die verwante plasings regstreeks, met elke bladsyaansig (tensy jy die kas aangeskakel het). Dit is nie die doeltreffendste ding vir die bediener nie, maar dit beteken wel dat dit die beste passings sal kry, of dit nou geplaas is voor of na die plasing wat bekyk is.

    Doug – jammer dat ek 'n bietjie van die onderwerp af gegaan het...

  5. 6

    Puik pos! Maar ek wil 'n paar nette kies.

    Jou regverdiging vir "(nie) by 'n ander tafel aansluit nie” omdat:

    "dit kan die spoed waarteen hierdie resultate vertoon word verminder en die laaityd vertraag"

    is offbase en 'n voorbeeld van voortydige optimalisering wat onderhoubaarheid inhibeer, en dit is jammer om te sien dat mense met 'n aansienlike gehoor sulke dinge aanbeveel omdat dit verkeerde inligting versprei.

    Die SQL-aansluiting waarvan jy praat, as jy aanvaar dat jy redelike indekse in plek het, sal jou reaksietyd met hoogstens verhoog mikrosekondes. Jy sal tonne en tonne verkeer moet hê voordat iemand selfs 'n halfsekonde verskil sal sien. Nou ja, as jy jouself dwing kan jy so regtig breinlose SQL-kode skryf wat verskriklik sal presteer, maar 'n bykomende aansluiting op sleuteldata is nie 'n voorbeeld daarvan nie.

    Ook, eerder as om iemand se gepubliseerde inprop te hack, wil ek baie graag sien dat jy voorstander is om dit te verbeter en dan te werk om jou verbetering in die werklike inprop self te kry. Soos dit is, kan jy 'n paar amateur-kodeerders kry om jou veranderinge toe te pas en dan later op te gradeer na die nuwe weergawe van die inprop en hulle verloor die veranderinge, maar kan nie uitvind wat verkeerd geloop het nie. Jou verandering is goedaardig, net 'n verlies aan funksionaliteit, maar sommige hacks kan veroorsaak dat 'n werf breek as 'n toekomstige hersiening van die kerninprop bo-op die gekapte een gebruik word.

    JMTCW. Gaan voort met die goeie werk anders. 🙂

    • 7

      Hi Mike!

      Dankie vir die antwoord – ek is egter nie seker of ek saamstem nie. Ek het nie voortydig geoptimaliseer nie ... om die waarheid te sê, ek het die beste manier gevind om al die funksionaliteit te kry wat ek nodig gehad het sonder om bykomende veranderinge aan te bring. In my boek moet dit elke ontwikkelaar se teiken wees.

      Ek het ook gesê dat dit kon prestasie beïnvloed. Ek het nie die moeite gedoen om te toets of te probeer nie, want dit was nie nodig nie, gegewe die manier waarop ek die inprop geoptimaliseer het. Weereens – ek het 100% van die funksionaliteit gekry wat ek nodig gehad het sonder om 'n aansluiting te doen of indekse by te voeg, ens. Dit is die regte oplossing in my boek.

      Ek stem egter saam met jou oor jou ander notas. Ek is bang om plugins te herpubliseer, voel asof ek blootstelling kry van iemand anders se werk. Ek het die skrywer se blog hieroor verwys – so miskien sal hy dit in ag neem as kenmerke vir toekomstige vrystelling.

      NS: Het die redigering reggemaak! 🙂

      • 8

        @Douglas: Ek is egter nie seker ek stem saam nie. Ek het nie voortydig geoptimaliseer nie? Weereens – ek het 100% van die funksionaliteit gekry wat ek nodig gehad het sonder om 'n aansluiting te doen of indekse by te voeg, ens.

        Wel, ek dink dit is die verskil tussen iemand wat programmering vanuit die perfekte beroep kyk en 'n kunsvlyt teenoor iemand wat 'n praktisyn is wat net probeer om iets gedoen te kry (en ek bedoel dit nie perjoratief nie; op sommige poslyste speel ek die letterrol teen eersgenoemde. 🙂

        Dit is soortgelyk aan hoe 'n rekenmeester of prokureur vir 'n besigheidseienaar sê "Ek sou dit nie doen nie” en die sake-eienaar, wat nie al die gevolge wat die professionele persone bewus is as *potensiaal* intrek nie, ignoreer hul advies omdat dit na te veel moeite lyk, en ploeg vooruit. God weet ek was daardie besigheidseienaar in die verlede en het teen alle raad vooruit geploeg, alhoewel tot my klaag later. 🙂

        @Douglas: Ek is bang om plugins te herpubliseer, …

        Nee, dit is nie presies wat ek gesê het nie. Wat ek gesê het, is dat aangesien dit oopbron is, kan jy jou veranderinge terug bydra tot die oorspronklike outeur wat hulle sal aanvaar, en jy kan dit proaktief doen deur kontak te maak en aan te bied. Ek werk tans as 'n bemarkingskonsultant en webwerf-implementeerder vir nisdrukuitgewers en -gebruik Drupal vir webtegnologie, en die Drupal-gemeenskap kontak altyd inprop-outeurs (Drupal noem hulle “modules”) en bied aan om ander se modules te help verbeter.

        Net 'n gedagte.

        PS Dankie vir die redigering regstelling.

        • 9

          Goeie punte, Mike!

          Ek kan met die inprop peuter om daardie opsie van "Vertoon slegs plasings voor die plasing wat gewys word" by te voeg. Ek dink die tweede opsie is 'n bietjie meer eie vir my blog, maar ek sal kyk en sien dit kan van belang wees vir die skrywer.

  6. 11
  7. 13

    Doug – ek mis dalk iets hier. Dit blyk dat

    AND post_date <= '$now'

    verhoed nie plasings wat na daardie spesifieke plasing gemaak is om ingesluit te word nie, soveel as wat dit verhoed dat plasings ingesluit word wat jy dalk gestel het om te wees in die toekoms gepubliseer.

    Hoop dit maak sin en dankie vir die puik blog.

  8. 15

    @Mike: Wel, ek dink dit is die verskil tussen iemand wat programmering vanuit 'n perfekte beroep kyk en 'n kunsvlyt teenoor iemand wat 'n praktisyn is wat net probeer om iets gedoen te kry

    Interessante onderskeid. Alhoewel dit lekker sou wees om alles op die beste manier te hê wat dit kan wees, lyk dit in baie gevalle onprakties. Ek streef daarna om 'n balans in my programmering te vind tussen hoe ek wil hê iets moet loop en hoeveel $ of tyd dit sal neem om dit daar te kry.

    Ek streef daarna om die minimum te doen wat nodig is om die doel te bereik wat ek probeer bereik. Om meer tyd te spandeer sal nie koste-effektief wees nie.

    Kortom, tensy daardie verlies in doeltreffendheid op my blog opmerklik was, sou ek nie die ekstra tyd spandeer nie. As dit opmerklik is, sou ek besluit of die bykomende tyd die resultaat werd sou wees. Perfeksie is nie altyd die beste oplossing nie.

    • 16

      @Dwayne: Ek streef daarna om die minimum te doen wat nodig is om die doel te bereik wat ek probeer bereik. Om meer tyd te spandeer sal nie koste-effektief wees nie.

      Natuurlik, as om altyd die minimum te doen beteken dat jy nie beter tegnieke leer wat veroorsaak dat jy die minimum baie keer in die toekoms herhaal eerder as om jou toe te laat om dit te vermy nie, dan het jy 'n valse prestasie behaal. Ja, baie take het nie ekstra moeite nodig nie, maar ek het gesien hoe baie mense in die verlede kortpaaie soos hierdie neem en hulle was van die mins produktiewe en/of minste waardeskeppende mense wat ek geken het (sommige van hulle was ongelukkig my werknemers , daarom het ek regtig hul gebrek aan produktiwiteit opgemerk.)

      @Dwayne: Kortom, tensy daardie verlies in doeltreffendheid op my blog opmerklik was, sou ek nie die ekstra tyd spandeer nie. As dit opvallend is, sou ek besluit of die bykomende tyd die resultaat werd sou wees. Perfeksie is nie altyd die beste oplossing nie.

      Ek dink jy het my punte gemis. Eerstens het ek gesê dat Doug optimaliseer vir onopmerklike doeltreffendheid, nie ek nie, maar meer belangrik as jy 'n hack gaan implementeer wat toekomstige onderhoubaarheidskwessies kan veroorsaak, moet jy dit nie vir ander se gebruik publiseer sonder om hulle ten minste te vertel van die soort onderhoubaarheidsprobleme wat dit later vir hulle kan veroorsaak.

      Die ironie van jou opmerking is dat die vinnige en maklike roete jou dikwels in die toekoms baie meer tyd sal kos wanneer jy 'n sekuriteitsopdatering vir jou WordPress installeer, jou gehackte funksionaliteit verloor en dit terug wil hê. Nou het jy 'n hooiberg met 'n ontbrekende naald en jy moet nou uitvind waar die naald was.

      Spandeer ekstra tyd aan prestasie? Bah, oor die algemeen nie nodig nie. Spandeer ekstra tyd aan instandhouding? Ja, dit betaal dikwels vir homself op die lang termyn.

      Ter afsluiting, ja dit is menslike natuur om waarskuwings af te wys vir dinge wat nog nooit vir jouself pyn veroorsaak het nie. Voel die pyn een keer en jy sal baie meer geneig wees om ag te slaan op die waarskuwings van ander wat reeds daardie pyn gevoel het.

  9. 17

    Een ding moet ek sê; Ek dink wel Doug se hack sal 'n goeie toevoeging tot WordPress wees, ten minste as 'n gebruikersopsie. Dit lyk nogal dom om verwante plasings te beperk tot slegs dié wat voorheen gekom het.

    OOK wil ek vir Doug vra om te plaas oor hoe sy daaglikse plasings vanaf del.icio.us geplaas word; dit sal 'n interessante onderwerp wees.

    • 18
      • 19

        Heh. Goeie een! Ek dink ek moes eers daarvoor gegoogle het.

        BTW, ek het vir jou 'n persoonlike e-pos gestuur oor my in Indy 16-19 Februarie omtrent 'n week gelede, maar het nie terug gehoor nie. Het jy gekry? (vee gerus hierdie deel van my opmerking uit.)

  10. 20

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.