✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Lisage SQL-i abil WordPressi lehemalli järgmine juhuslik postitus

8

Võite sageli saada nõuandeid SEO (otsingumootori optimeerimise) parandamiseks, kui lisate uue postituse avaldamisel oma eelmistele postitustele linke. See aitab suurendada liiklust ja see toimib sarnaselt pistikprogrammidele nagu "Suhtelised postitused", kuid ainult lihtsam.

Kõik WordPressi postitused on salvestatud tabelisse nt wp_posts ja selle tabeli seest leiate post_title, post_name ja need veerud on üsna lihtsad. Sõltuvalt teie postituste URL-ide konfiguratsioonist võib teil olla erineva vorminguga püsilinke, mida saate konfigureerida jaotises Seaded – püsilink.

Järgmise PHP koodi saab sisestada oma lehe malli, tavaliselt single.php, mis on ühe postituse mall või page.php lehe malli jaoks.

Muutke vastavalt wp_posts, kuna see võib veidi erineda. SQL-päring tagastab juhusliku postituse, kus see välistab lehed või menüü_elemendid, lingid jne. Ja postituse olek tuleks avaldada, mis välistab mustandi. Limiit 1 tagastab ainult 1 postituse. Nii et kui soovite eelmist postitust, võiksite kaaluda selle muutmist piiranguks 2.

Minu saidi püsilink põhineb atribuudil post_name, mis on SEO-sõbralikum. Saate seda hästi kohandada. SQL-päringut saab ka kohandada. Näiteks võite soovida juhuslike postituste asemel tagastada asjakohased postitused, sobitades titleväärtuse praeguse postituse pealkirja järgi. Või soovite tõesti tagastada selle eelmise või järgmise postituse, mis on sorteeritud avaldamiskuupäeva järgi, võiksite kasutada välja „post_id".

Kommentaarid

Yu – "Lahe, juhuslik on tõesti tore. Samuti veenduge, et juhuslik oleks praeguse postitusega seotud. Kuid see pole tavaliselt suur probleem, kui ajaveebi on mõeldud ühele žanrile.

Ka RAND() järjekord töötab tuhandete kirjete puhul hästi. (tavaliselt tavalise blogi puhul). Kuid see põletab teie andmebaasi, kui teil on samas tabelis miljoneid kirjeid, mis vastavad otsingukriteeriumidele."

Jah, SQL-i järjestus rand() järgi on natuke keeruline ja aeglane. See peab hankima kõik kirjed ja sorteerima juhuslikult. Seda peetakse madalaks, kui laua suurus on keskmine või suur. Võimalik, et soovite kasutada järgmist nippi juhusliku kirje kiiremaks hankimiseks, kasutades PHP-s funktsiooni rand() .

// get total number of records $query = "select count(1) from `table`"; $result = mysql_query($query) or die(mysql_error()); $total = mysql_result($result, 0, 0); // get a random $r = rand(0, $total - 1); // return a number between 0 and $total - 1 inclusive using PHP $query = "select * from `table` limit $r, 1"; $result = mysql_query($query) or die(mysql_error());

SQL-i piirangu põhjused määrab nihke ja teine ​​parameeter määrab tootavate kirjete arvu.

Parem juhuslik salvestus

Ülaltoodu kohaselt on järjestus rand() järgi äärmiselt ebaefektiivne, kui teil on väga suur tabel, sest sortimiseks (isegi kui soovite ainult ühte üksust) käivitatakse funktsioon rand() ja see on see, mida me ei tee. tahan. Saame eeltoodut täiustada kahe päringu abil, millest esimene tagastab postituste koguarvu ja meil on PHP juhuslik funktsioon ja juhusliku kirje saame limiitlause abil.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem