Prikaz postova na blogu na bilo kojoj stranici (s navigacijom). Prikaz prilagođenih WordPress vrsta postova Wordpress kako prikazati postove na određenoj stranici

Jeste li ikada pokušali promijeniti zadani redoslijed postova na stranici bloga? Prema zadanim postavkama, postovi su poredani na temelju datuma objave i ne postoji jednostavan način za promjenu redoslijeda pojavljivanja.

Ako želite promijeniti redoslijed u kojem se objave prikazuju, imate tri mogućnosti: promijeniti datum objave objave, napisati neki kod za sortiranje objave pomoću parametara koji nisu datum objave ili pronaći dodatak koji radi umjesto vas.

Promjena datuma objave nije najbolji pristup za većinu blogova. Stoga ćemo u ovom članku razmotriti drugu i treću opciju. Prvo ću vam pokazati kako napisati dodatak za prilagođavanje redoslijeda vaših objava. Zatim ćemo pogledati dva dodatka iz WordPress repozitorija koje ćemo koristiti za izradu prilagođenog poštanskog naloga.

Pišemo vlastiti dodatak za prikaz objava

Dva su glavna koraka potrebna za implementaciju vlastitog poštanskog naloga:

  1. Dodajte prilagođeno polje koje će se koristiti kao osnova za sortiranje objava.
  2. Implementirajte prilagođeni redoslijed sortiranja izmjenom glavne WordPress petlje ili stvaranjem prilagođene petlje i dodavanjem u prilagođeni predložak stranice ili widget na bočnoj traci.

Počnimo s dodavanjem prilagođenog polja, što se radi na zaslonu za uređivanje postova u WordPressu. Međutim, prije nego što to učinite, morat ćete omogućiti svoje razvojno okruženje, stvoriti mapu dodatka, a zatim stvoriti datoteku dodatka u toj mapi. Ako želite znati kako izgleda struktura dodatka, možete vidjeti gotov proizvod na GitHubu.

Stvorite prilagođeno polje

Možete upotrijebiti prilagođena polja na zaslonu za uređivanje posta za dodavanje metapodataka svakom postu, no ja radije dodajem prilagođenu meta ploču s poljem u pozadinu. To će vam pomoći da izbjegnete slučajni unos metapodataka u pogrešno polje.

Prvi korak za dodavanje prilagođene meta ploče u pozadinu je stvaranje ploče i njeno povezivanje sa zaslonom za uređivanje objave:

Ovaj dio koda, uključen u vašu datoteku dodatka, omogućit će vam stvaranje prilagođene meta ploče. Ovako će izgledati panel:

Možda ćete primijetiti funkciju povratnog poziva 'jpen_custom_post_order' u kodu. Kreirajmo zatim ovu funkciju i dodamo je u našu datoteku dodatka. Ovo će dodati polje na meta ploču koju smo stvorili iznad.

ID, "_custom_post_order", true); ?>

Unesite poziciju na kojoj želite da se objava pojavi. Na primjer, prvi će se pojaviti post "1", drugi post "2" i tako dalje.

Isječak koda počinje zadatkom. Zatim stvaramo varijablu $current_pos i dodjeljujemo joj vrijednost trenutnog reda sortiranja zapisa. Sljedeća su dva p elementa koji stvaraju vidljivi sadržaj meta panela. Trenutna vrijednost, ako postoji, tada se ispisuje u polju.

Ovdje prvo provjeravamo je li postavljen nonce, a zatim provjeravamo dopuštenja korisnika za izmjene zapisa. Ako je provjera uspješna, metapodaci objave ažuriraju se novom vrijednošću za slučajni redoslijed u kojem su objave prikazane.

Prikaži prilagođeno polje na administrativnoj ploči

U posljednjem smo odjeljku dodali prilagođenu meta ploču na zaslon za uređivanje posta - pohranit će numeričku vrijednost. Nešto kasnije koristit ćemo ovu numeričku vrijednost za kreiranje vlastitog redoslijeda za prikaz zapisa. No prije toga moramo riješiti još jedan problem.

Da bismo vidjeli vrijednost redoslijeda sortiranja objave za trenutnu objavu, moramo otvoriti tu objavu i pogledati prilagođenu meta ploču koju smo dodali na zaslon za uređivanje objave. Ovo nije baš zgodno. Dodajmo vrijednost redoslijeda sortiranja na stranicu izlaza objave u administratorskoj ploči kako bismo mogli brzo vidjeti vrijednost povezanu sa svakom objavom.

Prvo, moramo dodati prilagođeni stupac na popis unosa u administratorskom području. To ćemo učiniti pomoću sljedećeg koda:

"Položaj",)); ) add_filter("manage_posts_columns" , "jpen_add_custom_post_order_column"); ?>

Zatim moramo dobiti vrijednost reda zapisa za svaki zapis i ispisati tu vrijednost u novom stupcu. Nije tako teško i to ćemo učiniti pomoću sljedeće funkcije:

" . get_post_meta($post_id, "_custom_post_order", true) . "

"; ) ) add_action("manage_posts_custom_column" , "jpen_custom_post_order_value" , ​​​​10 , 2); ?>

Predivno. Sada, ako posjetimo popis postova na blogu u administratorskoj ploči, lako možemo vidjeti kojim je postovima dodijeljen novi redoslijed prikaza.

Ovako će izgledati na admin panelu:

Načini korištenja prilagođenog poštanskog naloga

Sada kada smo implementirali mogućnost dodjele prilagođenog izlaznog redoslijeda zapisima, vrijeme je da ovu opciju dobro iskoristimo. Moramo odgovoriti na pitanje: "Kako točno želimo koristiti slučajni poredak zapisa?"

Postoji nekoliko različitih opcija za primjenu prilagođenog sortiranja. Evo nekoliko ideja:

  • Razvrstajte sve postove nasumičnim redoslijedom i prikažite sortirani popis na stranici postova na blogu. Vjerojatno to nećete htjeti učiniti na blogu koji se aktivno popunjava, ali ako koristite WordPress za objavljivanje niza vodiča koji se ne ažuriraju tako često, možda ćete htjeti pribjeći sortiranju postova nasumičnim redoslijedom.
  • Napravite odabrani popis postova i prikažite te postove bilo kojim prikladnim redoslijedom pomoću prilagođenih predložaka stranica. Na primjer, možete stvoriti popis koji sadrži samo postove iz određene kategorije i sortirati te postove bilo kojim prikladnim redoslijedom.
  • Napravite popis postova na blogu koji će započeti s nekoliko nasumično poredanih unosa, nakon čega će preostali postovi biti uključeni uobičajenim redoslijedom.

Ne postoje granice. Ako nađete primjenu nasumičnog redoslijeda unosa i znate kako to implementirati, super! Pogledajmo sve tri gore navedene ideje kako bismo razumjeli kako bi funkcionirale u praksi.

Promjena postova na stranici bloga u nasumično sortirani popis

Najlakši način korištenja nasumičnog redoslijeda za prikazivanje postova je zamjena standardnog popisa postova na stranici bloga nasumično poredanim popisom. Da biste to učinili, morate staviti sljedeću funkciju u svoj dodatak:

is_main_query() && is_home())( $query->set("orderby", "meta_value"); $query->set("meta_key", "_custom_post_order"); $query->set("order" , " ASC"); ) ) add_action("pre_get_posts" , "jpen_custom_post_order_sort"); ?>

Imajte na umu da će ova funkcija uključivati ​​samo zapise koji su povezani s prilagođenom vrijednošću izlaznog reda. Svi ostali postovi bez takve poveznice neće biti prikazani na stranici bloga. Drugim riječima, ako to učinite, morat ćete vezati prilagođenu vrijednost redoslijeda izlaza na sve zapise koji se trebaju ispisati na ekran.

Stvaranje odabranog popisa nasumično sortiranih zapisa

Stvaranje odabranog popisa nasumično poredanih postova zahtijeva upotrebu klase WP_Query. Morat ćete izraditi upit koji uključuje parametar koji želite koristiti za popis unosa, a zatim ćete upitu morati dodati prilagođeni redoslijed sortiranja. Ovako će kod izgledati:

"post", "cat" => "94", "meta_key" => "_custom_post_order", "orderby" => "meta_value", "order" => "ASC"); $upit = novi WP_upit ($args); if ($query->have_posts()) ( while ($query->have_posts()) ( $query->the_post(); /* popis samo postova koji imaju trenutnu prilagođenu vrijednost narudžbe */ if (!empty( get_post_meta($post->ID, "_custom_post_order", true))) : ?> /* umetni kod za iscrtavanje objava */

Ovaj će upit najprije odabrati sve zapise koji pripadaju kategoriji s ID = 94. Zatim će odabrati zapise koji imaju slučajnu vrijednost redoslijeda izlaza. Na kraju će sortirati te zapise željenim redoslijedom.

Ovaj se zahtjev može postaviti u prilagođeni predložak stranice ili dodati u widget bočne trake za prikaz traženih zapisa.

Dodajte sortirane postove na početak popisa postova na blogu

Druga opcija za implementaciju sortiranja je dodavanje nasumično poredanih postova na početak popisa blog postova, nakon čega idu ostali blog postovi, poredani uobičajenim redoslijedom. To će biti teže učiniti - morat ćemo izraditi dva prilagođena upita pomoću klase WP_Query.

Prvi upit će primiti nasumično sortirane zapise i prikazati ih prema vrijednosti sortiranja. Međutim, potreban nam je samo popis nasumično poredanih postova koji će biti prikazan na prvoj stranici bloga, tako da ćemo također morati dodati if uvjet koji će provjeriti je li stranica prva.

Drugi upit će dobiti sve zapise i sortirati ih uobičajenim redoslijedom. Međutim, preskočit će sve one zapise kojima je dodijeljena prilagođena vrijednost sortiranja. Kako bismo omogućili označavanje stranica za postove vraćene u drugom upitu, morat ćemo raditi s globalnom varijablom $wp_query.

Evo jednog načina na koji bismo mogli kombinirati dva upita da bismo dobili željeni rezultat:

"post", "meta_key" => "_custom_post_order", "orderby" => "meta_value", "order" => "ASC"); $upit1 = novi WP_upit($args1); if ($query1->have_posts()) : while ($query1->have_posts()) : $query1->the_post(); // Ova izjava if preskočit će postove kojima je dodijeljena prilagođena vrijednost sortiranja, a zatim je ta vrijednost uklonjena if (!empty(get_post_meta($post->ID, "_custom_post_order", true))) : // Prikaži prilagođeno sortirane postove ?>

"); ?> ">Pročitajte više

"post", "orderby" => "datum", "order" => "DESC", "paged" => $paged); // Da bi paginacija radila, mora se privremeno koristiti globalna $wp_query varijabla $temp = $wp_query; $wp_query = null; $wp_query = novi WP_query ($args2); if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); // Preskoči postove s prilagođenom vrijednošću sortiranja if (!empty(get_post_meta($post->ID, "_custom_post_order", true))) ( continue; ) // Prikaži standardno sortirane postove ?>
", esc_url(get_permalink())), ""); ?> ">Pročitajte više

Možete koristiti ovaj skup upita da zamijenite standardni upit za stranicu bloga. To se radi u tri koraka:

  1. Stvorite datoteku home.php kopiranjem Index.php nadređene teme.
  2. Ove upite postavljamo umjesto osnovne petlje.
  3. Učitajte novi home.php u korijenski direktorij podređene teme.

Sada, kada se stranica bloga prikaže, nova datoteka home.php koristit će se kao predložak stranice.

Dodaci za postizanje istih ciljeva

Ako niste programer ili vam nije potrebna fleksibilnost prilagođenih rješenja, možete iskoristiti nekoliko dodataka koji su dostupni u direktoriju dodataka WordPress.org. Uz njihovu pomoć možete olakšati sortiranje zapisa. Međutim, mnoga dostupna rješenja slabo su podržana ili se ne ažuriraju redovito. Pogledajmo dvije opcije koje njihovi programeri aktivno podržavaju i koje se redovito ažuriraju.

Redoslijed vrsta objava

Post Types Order aktivan je na više od 400.000 stranica i stalno se ažurira; Programer aktivno rješava probleme koje prima podrška. Dodatak ima ocjenu 4,6 od 5 i prikupio je više od 150 recenzija korisnika.

Dodatak se može koristiti za prilagođeno sortiranje postova i vrsta postova. Da biste koristili dodatak, jednostavno ga instalirajte i aktivirajte, zatim idite na Postavke > Redoslijed vrsta objava. Zatim posjetite popis zapisa u administratorskoj ploči i jednostavno povucite i ispustite zapise u željeni odjeljak s redoslijedom sortiranja. Kao rezultat toga, vidjet ćete da su postovi na prednjem dijelu vaše stranice poredani redoslijedom koji vam je potreban.

Naručite svoje postove ručno

Naručite svoje postove ručno aktivan je na manje od 1000 WordPress stranica. Međutim, ima dobru ocjenu 4,6 od 5 i programeri rješavaju sve zahtjeve za podršku. Dodatak je stvarno vrijedan razmatranja.

Da biste koristili dodatak, instalirajte ga, aktivirajte i idite na Postavke > Ručno naručite svoje objave. Konfigurirajte nekoliko opcija i kliknite Naruči moje objave. Klikom na ovaj gumb odvest ćete se na Alati > Ručno naručite objavu i generirati popis svih svojih objava. Jednostavno povucite svoje unose u željenu grupu kako biste ih organizirali, zatim kliknite Spremi promjene.

Imamo zasebnu datoteku predloška za prikaz objava na WordPressu – single.php. Međutim, ovo je izlaz jednog zapisa unutar petlje, koji je određen funkcijama slobodnog mehanizma i ne stvara nikakvu složenost. Ali kako prikazati wordpress postove na drugoj stranici ili na glavnoj?


get_posts()

U ovom slučaju potrebna nam je funkcija get_posts(). Uz njegovu pomoć možemo pristupiti svim objavama prema kriterijima koji su nam potrebni. Ova metoda ima dosta prednosti, jedna od njih je mogućnost sortiranja postova po datumu, naslovu, ID-u itd. Popis svih argumenata je prilično velik, možete ga vidjeti u WordPress kodu, ali mi ćemo pogledati izravan primjer samo najpotrebnijeg skupa za izvršenje dodijeljenog zadatka.

Dakle, princip funkcije:

$posts = get_posts($args);

Kao što razumijete, u varijabli $args postavili smo sve potrebne parametre za prikazivanje naših objava. U varijabli posts primamo niz podataka koji je spreman za izlaz u petlji. Nakon dovršetka petlje, ne zaboravite upotrijebiti funkciju wp_reset_postdata(), koja će nam omogućiti da izbjegnemo bugove na stranici s dodatnim petljama povezanim s prikazom objava. Naš kod će izgledati ovako:

9 , "kategorija" => 1, "narudžba" => "datum"); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>

">

Ovo je potpuno gotov kod za umetanje na željeno mjesto u vašem predlošku teme. Dopustite mi da malo pojasnim navedene argumente. U parametru numberposts postavljamo broj objava za prikaz, u kategoriji označavamo ID kategorije, a orderby je zadužen za sortiranje po datumu.

Petlja već koristi uobičajeni predložak koji prikazuje sličicu, poveznicu na objavu, naslov i datum objave. Kao što vidite, sve je vrlo jednostavno, sada možete prikazati WordPress postove bilo gdje u svojoj temi.

Korištenje WordPress, kao običnom blog motoru s već gotovim temama, takvo pitanje nam se ne bi postavilo. Jednostavno se ne miješamo u algoritme rada CMS, sami zapisi se nekako prikazuju. U kojem slučaju izlaz WordPress postova počinje li nas zanimati?

Onda kad se skupimo iz statike HTML učiniti izgled jedinstvenim WordPress tema. Točnije, želimo ponuditi naše usluge razvlačenja layouta na WordPress. Dakle, bez vještine prikazati WordPress postove bilo gdje na mjestu - nećete moći proći.

Struktura WordPress teme

Koja je tema WordPress? Ovo je skup datoteka (predložaka) koji se sastoji od HTML kod pomiješan sa PHP kodirati. Svaka tema treba imati najmanje dvije datoteke: indeks.php I CSS datoteka stilova. HTML kod je izgled jedinstvenog dizajna, i PHP kod se sastoji od funkcija i oznaka koje su već opisane u kernelu WordPress, nikada ne diramo kernel datoteke.

Zapamti to sve HTML kod mora biti izvan početnih i završnih oznaka PHP. Naprotiv, sve PHP Kod se piše samo unutar oznaka. Na primjer, prikazat ćemo ime autora posta u WordPress petlja:

U kodu WordPress Detaljno opisuje što ove oznake predložaka rade i kako ih prikazati na web mjestu. Za stvaranje teme WordPress od nule, trebate znati skup ovih oznaka predložaka i kako ih primijeniti.

Oznake predložaka postova u WordPressu

trajna_veza
Naslov
vrijeme
sadržaj
Autor
izvadak
kategorija_

Ove oznake predložaka koriste se za prikaz članaka na početnoj stranici WordPress u predlošku indeks.php.

">

Prikazujemo datum stvaranja zapisa:

Prikažimo sam članak – sadržaj, unutar oznake div:



Pažnja! Ništa nije izašlo. Zašto? Budući da ove oznake predloška izlaze samo unutar petlje, ne rade izvan petlje. Sav ovaj kod moramo smjestiti unutar petlje. svi PHP I HTML kod unutar petlje će se ponoviti onoliko puta koliko imamo zapisa. Pogledajte kod ispod.



Ovdje smo stavili sav kod iznad. Unutar smo ciklusa.



Shvatimo što gornji kod znači. Postavili smo uvjet da ako postoje zapisi u bazi podataka, ispisuje se naslov, datum nastanka i sadržaj zapisa.

Ako ima postova, onda u ciklusu dok funkcija radi pošta koji se bavi prikaz svih zapisa, sve dok postoje.

Završena petlja i uvjet.


Ciklus će teći sve dok postoje zapisi, broj izlaz zapisa po stranici postavlja se u postavkama bloga. Ako ima više unosa, elementi paginacije će se pojaviti na stranici. Na taj će način svi postovi biti prikazani na blogu i WordPress automatski će stvoriti onoliko stranica koliko je potrebno.

Upoznali smo se samo s nekim funkcijama za izradu teme WordPress- to su funkcije izlaz zapisa. Međutim, ovdje je važno razumjeti načelo, a ne pokušavati ga zapamtiti ili zapamtiti.

Praksa

Razmotrimo izlaz zapisa koristeći temu kao primjer Dvadeset sedamnaest. Objave se prikazuju putem oznake predloška get_template_dio u petlji predloška indeks.php, koji prosljeđuje sadržaj predloška u parametrima sadržaj.php.

if (have_posts()) :
/* Pokretanje petlje */
dok (have_posts()) :
pošta();
get_template_part("template-parts/post/content", get_post_format());
endwhile;
završi ako; ?>

U predlošku sadržaj.php Prikazuje se naslov objave s poveznicom na samu objavu i sadržaj.

Dohvaća zapise (objave, stranice, privitke) iz baze podataka na temelju navedenih kriterija. Možete odabrati bilo koje objave i sortirati ih kako želite.

Niz WP_Post objekata (postovi). Svaki objekt u nizu izgleda ovako:

Array(=> object(WP_Post)#4692 (24) ( ["ID"] => int(822) ["post_author"] => string(1) "1" ["post_date"] => string(19) "2016-07-07 10:28:57" ["post_date_gmt"] => string(19) "2016-07-07 07:28:57" ["post_content"] => string(6225) "Sadržaj članka" ["post_title"] => string(37) "Mrtvo more (14 fotografija)" ["post_excerpt"] => string(15) "Citat o članku" ["post_status"] => string(7) "objavi" [ "comment_status"] => string(4) "open" ["ping_status"] => string(4) "open" ["post_password"] => string(0) "" ["post_name"] => string( 95 ) "mertvoe-more-14-foto" ["to_ping"] => string(0) "" ["pinged"] => string(0) "" ["post_modified"] => string(19) "2016. - 07-07 10:28:57" ["post_modified_gmt"] => string(19) "2016-07-07 07:28:57" ["post_content_filtered"] => string(0) "" ["post_parent" ] => int(0) ["guid"] => string(0) "" ["menu_order"] => int(0) ["post_type"] => string(4) "post" ["post_mime_type"] = > string(0) "" ["comment_count"] => string(1) "0" ["filter"] => string(3) "raw" ) => object(WP_Post)( ... ) => objekt (WP_Post)( ... ))

Korištenje

get_posts($args);

Uzorak upotrebe

// zadani parametri $posts = get_posts(array("numberposts" => 5, "category" => 0, "orderby" => "date", "order" => "DESC", "include" => array ( ), "exclude" => array(), "meta_key" => "", "meta_value" =>"", "post_type" => "post", "suppress_filters" => true, // susppress change filters SQL upit )); foreach($posts as $post)( setup_postdata($post); // izlazni format the_title() ... ) wp_reset_postdata(); // poništi $args (niz/niz) Popis argumenata prema kojima će se dobiti rezultat.
Zadano: unaprijed postavljeno

$args Parametarski argumenti

Od WordPressa 2.6, uz dolje opisane parametre, get_posts() može prihvatiti sve iste parametre kao i WP_Query.

U get_posts(), parametar suppress_filters je omogućen prema zadanim postavkama, što je onemogućeno u query_posts() i WP_Query - tj. tamo filteri rade. Omogućavanje suppress_filters potiskuje sve filtre promjene SQL upita sljedeće vrste: posts_* ili comment_feed_*.

suppress_filters ne utječe na rad filtra pre_get_posts - radit će bez obzira što je navedeno u suppress_filters.

Ovo onemogućavanje filtara prema zadanim postavkama može biti zbunjujuće ako postoje dodaci koji utječu na izlaz zapisa kroz filtre SQL upita, na primjer WPML. U takvim slučajevima, suppress_filters treba biti onemogućen.

Parametru "category" treba proslijediti ID, a ne naziv kategorije. Također možete proslijediti niz "kategorija": ID odvojen zarezima.

numberposts (broj) Broj prikazanih postova. Postavite na 0 da ograničite izlaz na maksimalan broj postova po stranici (postavljen u VI postavkama) ili postavite na -1 da uklonite ograničenja izlaza (LIMIT).
Zadano: 5 pomaknuti (broj) Uvlačenje od prve objave (upis). kategorija (broj/niz/niz)

Iz kojih kategorija prikazati objave? Navedite ID kategorije iz koje želite dobiti postove ili navedite -3 umjesto 3 ako želite dobiti sve postove osim postova iz kategorije 3 (isključi kategoriju). Možete navesti više ID-ova odvojenih zarezima ("3,5,12" ili "-3,-5,-12").

Pogledajte opis cat parametra WP_Query.

U funkcijama WP_Query i query_posts(), ovaj je parametar prema zadanim postavkama onemogućen (jednako je false).
Zadano: točno

Primjeri

#1. Prikaz postova s ​​uvlačenjem

Ako imate jednu, posljednju objavu prikazanu na glavnoj stranici, ali trebate prikazati još 5 prethodnih iz kategorije 1, tada možete koristiti sljedeći kod:

    5, "offset"=> 1, "category" => 1); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>
  • ">

#2. Prikaz postova s ​​uvlačenjem, bez prekidanja glavne petlje.

Ako je korištena funkcija get_posts() i nakon nje morate koristiti standardnu ​​WordPress petlju, tada morate spremiti globalnu varijablu $post, učinite to ovako:

    5, "offset"=> 1, "category" => 1); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>
  • ">

#3. Sposobnost korištenja posebnih funkcija VI petlje

Prema zadanim postavkama, u petlji koja se temelji na get_posts() nije moguće koristiti, na primjer, funkciju the_content() ili the_date(). Ovaj problem rješava funkcija setup_postdata(), koja treba proslijediti varijablu $post:

3); $lastposts = get_posts($args); foreach($lastposts as $post)( setup_postdata($post); // postavi podatke?>

">

Podaci se mogu dobiti i pristupom svojstvu objekta (object->object_property). Na primjer, za ovaj primjer $post->ID bit će jednak ID-u objave, $post->post_content sadržavat će sadržaj objave. Svojstvo objekta je stupac postova tablice baze podataka. Mogu se vidjeti nazivi stupaca.

Ne zaboravite da se podaci prikazuju na ekranu pomoću php echo operatora:

ISKAZNICA; ?>

#4. Najnoviji postovi poredani po naslovu

Dobivat ćemo najnovije objave poredane po naslovu abecednim redom. Sljedeći primjer ispisat će datum, naslov i citat posta:

10, "order"=> "ASC", "orderby" => "title")); foreach ($postslist kao $post)( setup_postdata($post); ?>


#5. Nasumični postovi

Uzmimo 5 nasumičnih objava, implementiranih pomoću parametra "orderby" => "rand":

    5, "orderby" => "rand"); $rand_posts = get_posts($args); foreach($rand_posts kao $post) : ?>
  • ">

#6. Preuzmite sve priložene datoteke

Koristi se izvan WordPress petlje. Sljedeći kod prikazat će naslov, vezu i citat priložene datoteke:

"attachment", "posts_per_page" => -1, "post_status" => null, "post_parent" => null); $attachments = get_posts($args); if ($attachments) ( foreach ($attachments as $post) ( setup_postdata($post); the_title(); the_attachment_link($post->ID, false); the_excerpt(); ) ) wp_reset_postdata(); ?>

#7. Priložene datoteke za određeni post

Kod se mora koristiti unutar WordPress petlje, gdje je $post->ID varijabla:

"attachment", "posts_per_page" => -1, "post_status" => null, "post_parent" => $post->ID); $attachments = get_posts($args); if ($attachments) ( foreach ($attachments as $attachment) ( echo apply_filters("the_title", $attachment->post_title); the_attachment_link($attachment->ID, false); ) ) wp_reset_postdata(); ?>

#8. Najnoviji postovi iz iste kategorije

Prikazat ćemo popis najnovijih objava trenutne kategorije u kojoj se objava nalazi. U ovom slučaju isključit ćemo trenutni unos:

term_id; $pravi_id = get_the_ID(); $args = array("cat" =>$cat_add_id); $posts = get_posts($args); foreach($posts as $post)( setup_postdata($post); if ($post->ID<>$real_id)( ?> ">

Bilješke

    Od verzije 2.6 promijenjen je niz prenesenih vrijednosti za parametar orderby - prefiks post_ je uklonjen, na primjer, postojao je post_title, postao je samo naslov.

  • Od verzije 3.0, nizovi ID-ova također se mogu proslijediti parametrima uključivanja i isključivanja.

Želite kupiti jeftine preglede na Instagramu za video ili TV prijenos, ali ne znate gdje? Pokušajte posjetiti web mjesto Doctor SMM, gdje će vam biti ponuđena jedna od najnižih cijena na RuNetu za preglede. Požurite jer ponuda vrijedi ograničeno vrijeme! Osim toga, ovdje možete vrlo brzo kupiti resurs s optimalnim načinom brzine posebno za vašu stranicu. Unaprijedite svoj račun brzo i jednostavno!

Bilješke

  • Pogledajte: WP_Query::parse_query()

Popis promjena

Od verzije 1.2.0 Predstavljeno.

Kodirati dobiti postove: wp-includes/post.php WP 5.2.3

5, "category" => 0, "orderby" => "date", "order" => "DESC", "include" => array(), "exclude" => array(), "meta_key" => "", "meta_value" => "", "post_type" => "post", "suppress_filters" => true,); $r = wp_parse_args($args, $defaults); if (empty($r["post_status"])) ( $r["post_status"] = ("attachment" == $r["post_type"]) ? "naslijediti" : "objavi"; ) if (! prazno ($r["numberposts"]) && empty($r["posts_per_page"])) ( $r["posts_per_page"] = $r["numberposts"]; ) if (! empty($r["category" ])) ( $r["cat"] = $r["category"]; ) if (! empty($r["include"])) ( $incposts = wp_parse_id_list($r["include"]); $r["posts_per_page"] = count($incposts); // samo broj uključenih postova $r["post__in"] = $incposts; ) elseif (! empty($r["exclude"])) ( $ r["post__not_in"] = wp_parse_id_list($r["exclude"]); ) $r["ignore_sticky_posts"] = istina; $r["no_found_rows"] = točno; $get_posts = novi WP_Query; vrati $get_posts->upit($r); )

Želite prikazati svoje najnovije objave u WordPressu? Prikaz nedavnih postova pomaže korisnicima da lakše pronađu što je novo na vašem blogu. Najnovije objave možete prikazati na bočnoj traci, unutar sadržaja pomoću kratkog koda, na kraju objave i u području podnožja ili gdje god želite. U ovom članku pokazat ćemo vam kako prikazati najnovije postove u WordPressu pomoću dodataka, widgeta, kratkih kodova i ručno pomoću značajke prikaza nedavnih postova.

Korištenje widgeta za nedavne objave

WordPress ima vlastiti widget za prikaz nedavnih postova, koji se može umetnuti u bočnu traku (bočnu traku) vaše web stranice ili bilo koji drugi gotov prostor za widgete. Samo idite na: Izgled » Widgeti i povucite widget u područje widgeta vaše web stranice.

Widget je vrlo jednostavan i možete dodati vlastiti naslov, prikazati datum objave i postaviti broj objava za prikaz.

Korištenje dodatka Recent Posts Widget Extended

Kao što smo gore spomenuli, ugrađeni widget za nedavne postove prilično je jednostavan i ograničene upotrebe jer nećete moći prikazati sličice postova i najave, što je većini korisnika često prioritet.

Što ako želite prikazati najnovije postove sa sličicama i malim najavama postova? Što učiniti ako želite prikazati nedavne objave iz određene kategorije ili oznake?

U ovom slučaju će vam dobro doći Recent Posts Widget Extended plugin.

Prošireni widget za nedavne objave. Nakon aktivacije jednostavno idite na: Izgled » Widgeti i povucite widget Nedavni post proširen u bočnoj traci.

Ovaj widget vrlo je prilagodljiv i daje vam potpunu kontrolu nad načinom na koji želite prikazati najnovije postove na vašoj WordPress stranici. Možete prikazati sličice, pregledati objave, postaviti kategorije i oznake i još mnogo toga. Također možete koristiti ovaj widget za prikaz najnovijih postova određene vrste postova.

Veličinu fonta možete povećati tako da poništite opciju "koristi zadane stilove" i postavite vlastite vrijednosti.

Prikaz nedavnih postova pomoću kratkog koda

Prikazivanje najnovijih postova na bočnoj traci je prilično jednostavno, ali što ako želite prikazati najnovije postove unutar WordPress posta ili stranice? Najočitiji i najlakši način za prikaz nedavnih postova unutar posta ili stranice je pomoću posebnog kratkog koda.

Prvo što trebate učiniti je instalirati i aktivirati dodatak Display Posts Shortcode. Nakon aktivacije, dodatak će raditi odmah, nema postavki.

Otvorite traženu stranicu ili objavu u WordPress uređivaču i zalijepite kratki kod na željeno mjesto. Postoji niz parametara koje možete koristiti u kratkom kodu. Dolje je nekoliko primjera:

Ispis 5 najnovijih postova sa sličicama i najavama:

Prikaz nedavnih stranica umjesto objava:

Poredaj po imenu umjesto po datumu:

Ispisivanje najnovijih stranica s određene nadređene stranice:

Potpuni popis parametara možete pronaći na stranici s dokumentacijom dodatka.

Ovi kratki kodovi također se mogu koristiti unutar tekstualnog widgeta, ali prvo ćete morati omogućiti podršku za kratki kod u tekstualnom widgetu. Da biste to učinili, dodajte kod u nastavku u function.php svoje teme:

Add_filter('widget_text', 'do_shortcode');

Ručno prikazivanje novih unosa

Napredniji korisnici mogu prikazati najnovije postove ručno dodavanjem malog koda u datoteke WordPress tema. Postoji nekoliko načina za to, ali najjednostavniji način je korištenje ugrađene klase WP_Query.

Samo dodajte donji kod tamo gdje želite prikazati najnovije objave.


    // Definirajte naše WP parametre upita

    // Pokrenite naš WP upit
    have_posts()) : $the_query -> the_post(); ?>

    // Prikaz naslova posta s hipervezom

  • »>
  • // Prikaz odlomka posta

  • // Ponovite postupak i resetirajte kada dosegne ograničenje
    endwhile;
    wp_reset_postdata();
    ?>

Ovaj kod će prikazati zadnjih pet postova s ​​naslovom i objavom. Klasa WP_Query ima mnogo parametara, što znači da je možete prilagoditi svojim željama. Za više informacija posjetite kodnu stranicu.

Nadamo se da vam je ovaj članak pomogao da naučite kako prikazati nedavne postove u WordPressu.