WordPress ziņu izvade. Rādīt pielāgotus WordPress ziņu veidus. #7. Pievienotie faili konkrētai ziņai

Mums ir atsevišķs veidnes fails ziņu parādīšanai pakalpojumā WordPress – single.php. Tomēr šī ir viena ieraksta izvade cilpas ietvaros, ko nosaka brīvā dzinēja funkcijas un tas nerada nekādu sarežģītību. Bet kā atsaukt WordPress ziņas citā lapā vai galvenajā lapā?


get_posts()

IN šajā gadījumā mums ir nepieciešama funkcija get_posts (). Ar tās palīdzību mēs varam piekļūt visiem ierakstiem atbilstoši mums nepieciešamajiem kritērijiem. Šai metodei ir diezgan daudz priekšrocību, viena no tām ir iespēja kārtot ierakstus pēc datuma, virsraksta, ID u.c.. Visu argumentu saraksts ir diezgan liels, to var apskatīt WordPress kodā, bet mēs apskatīsim tiešs piemērs tikai visvairāk nepieciešamais komplekts lai izpildītu uzdevumu.

Tātad, funkcijas princips:

$posts = get_posts($args);

Kā jūs saprotat, mainīgajā $args mēs iestatām visus nepieciešamos parametrus, lai parādītu mūsu ziņas. Ziņu mainīgajā mēs saņemam datu masīvu, kas ir gatavs izvadīšanai ciklā. Pēc cilpas pabeigšanas neaizmirstiet izmantot funkciju wp_reset_postdata(), kas ļaus mums izvairīties no kļūdām lapā ar papildu cilpām, kas saistītas ar ziņu parādīšanu. Mūsu kods izskatīsies šādi:

9 , "category" => 1, "orderby" => "datums"); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>

">

Šis ir pilnībā gatavs kods ievietošanai vēlamajā motīva veidnes vietā. Ļaujiet man nedaudz paskaidrot sniegtos argumentus. Parametrā numberposts mēs iestatām parādāmo ziņu skaitu, kategorijā norādām kategorijas ID, un orderby atbild par kārtošanu pēc datuma.

Cilpa jau izmanto parastu veidni, kurā tiek rādīts sīktēls, ziņas saite, nosaukums un publicēšanas datums. Kā redzat, viss ir diezgan vienkārši, tagad jūs varat parādīt WordPress ziņas jebkurā vietā savā motīvā.

Apmeklētāju ērtībām un, lai meklētājprogrammas paātrinātu rakstu indeksēšanu, tiek veidotas vietņu kartes (saturs) gan XML, gan HTML formātā. XML formātā vietnes karte ir piemērota tikai meklētājprogrammām, bet HTML var attēlot visus ierakstus, un tā ir orientēta uz apmeklētājiem, bet tas ir pluss arī meklētājprogrammām.

Neliela atkāpe no tēmas.
Es nolēmu nedaudz pārveidot emuāru. Es pavadīju visu vakaru, rediģējot sānjoslas stilus. Kā redzat, tagad tā ir citā krāsā + atjaunināta.
Pati emuāra veidne tagad ir “bez gumijas” un tai ir fiksēts platums, un zem katras ziņas esam pievienojuši sociālās pogas no Addthis. Tieši tā

Atgriezīsimies pie galvenā – visu emuāra rakstu saraksta vienā lapā.

Gribēju uztaisīt HTML bloga karti izmantojot spraudni, bet nepatika, jo, ja ieraksts ietilpst divās kategorijās, ierakstu nosaukumi atkārtojas, tas ir, efekts ir tāds, it kā ierakstu būtu vairākas reizes vairāk emuārā nekā patiesībā ir . Emuāra kartei ir šāda struktūra (ja ziņas tiek rādītas pēc kategorijas):



Ieraksta datums / Ieraksta nosaukums no 1. kategorijas
Ziņas datums / Ziņas virsraksts no 1. kategorijas un 2. kategorijas // Atkārtojiet ziņas nosaukumu!

Vai arī varat parādīt ziņas pēc tagiem, taču situācija būs līdzīga, parādot ziņas pēc kategorijas, un pēc izvēles varat parādīt emuāra lapu sarakstu.

Beigās nolēmu izveidot vienkāršu numurētu sarakstu ar visiem emuāra ierakstiem dilstošā secībā (pēc publicēšanas datuma).

Tātad sāksim.

Izveidojiet motīva faila page.php kopiju un pārdēvējiet to par kaut ko citu, piemēram, soderzhanie.php. Pēc tam atveriet to NotePad++ redaktorā un mainiet kodu:

Pirms rediģēšanas kods izskatās apmēram šādi:

1 2 3 4 5 6 7 8 9 10 11 12 13 14

"" ) ) ; comments_template() ; endwhile ; ) get_footer() ; ?>

"")); comments_template(); endwhile; ) get_footer(); ?>

Mēs atstājam tikai izvades funkcijas header-a un footer-a, un mums nav nepieciešams saturs

Kur teikts, ka Vasja bija šeit: “Šeit būs kods visu emuāra ierakstu parādīšanai!” Ielīmējiet šādu kodu:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 "post" , "post_status" => "public" , "posts_per_page" => - 1 , "caller_get_posts" => 1 if ($moi_requests -> have_posts () ) : drukāt "Visas ziņas: piemērs" . "

Visi emuāra ieraksti:

    " ; while ($moi_zapros -> have_posts () ): $moi_zapros -> the_post () ; ?>
  1. " target="_blank">
  2. ?>

"post", /* Atlasiet tikai ziņas. */ "post_status" => "publicēt", /* Un tikai publicētās. */ "posts_per_page" => -1, /* Noņemiet vienā lapā redzamo ziņu skaita ierobežojumu. */ "caller_get_posts" => 1 /* Ignorēt lipīgo ziņu funkcijas. */);$moi_zapros = null;$moi_zapros = new WP_Query($parametri); /* Izveidojiet jaunu “nestandarta” pieprasījumu. */if ($moi_zapros->have_posts()): drukāt "Visas ziņas: piemērs". "

Visi emuāra ieraksti:

    "; while ($moi_zapros->have_posts()) : $moi_zapros->the_post(); ?>
  1. " target="_blank">


  2. ";endif;wp_reset_query(); /* Atiestatiet mūsu atlasi. */?>

    Soderzhanie.php faila galīgais kods:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 /** * Veidnes nosaukums: Visas ziņas // lapas veidnes nosaukums */$parametri = masīvs ( "post_type" => "post" , /* Atlasiet tikai ierakstus. */"post_status" => "publicēt" , /* Un tikai publicētās. */"posts_per_page" => - 1, /* Noņemiet vienā lapā redzamo ierakstu skaita ierobežojumu. */"caller_get_posts" => 1 /* Ignorēt līmlapiņu īpatnības. */) ; $moi_requests = null ; $moi_zapros = new WP_Query($parametri ) ; /* Izveidojiet jaunu “nestandarta” pieprasījumu. */ if ($moi_zapros -> have_posts () ): izdrukāt "Visas ziņas: piemērs" . "

    Visi emuāra ieraksti:

      " ; while ($moi_zapros -> have_posts () ): $moi_zapros -> the_post () ; ?>
    1. " title="Pastāvīga saite priekš: " target="_blank">!}


    2. " ; endif ; wp_reset_query () ; /* Atiestatiet mūsu atlasi. */ ?>

    "post", /* Atlasiet tikai ziņas. */ "post_status" => "publicēt", /* Un tikai publicētās. */ "posts_per_page" => -1, /* Noņemiet vienā lapā redzamo ziņu skaita ierobežojumu. */ "caller_get_posts" => 1 /* Ignorēt lipīgo ziņu funkcijas. */);$moi_zapros = null;$moi_zapros = new WP_Query($parametri); /* Izveidojiet jaunu “nestandarta” pieprasījumu. */if ($moi_zapros->have_posts()): drukāt "Visas ziņas: piemērs". "

    Visi emuāra ieraksti:

      "; while ($moi_zapros->have_posts()) : $moi_zapros->the_post(); ?>
    1. " title="Pastāvīga saite priekš:" target="_blank">!}


    2. ";endif;wp_reset_query(); /* Atiestatiet mūsu atlasi. */?>



      Esmu redzējis daudzas WordPress vietnes, kuru sākumlapā ir sava veida statiska lapa un atsevišķa emuāra lapa, piemēram, yourwebsite.com/blog.

      Kā jūs varat to ieviest savā vietnē? Patiesībā ir divi veidi – viens vienkāršs un otrs ne tik vienkāršs, apskatīsim abus.

      1. metode: izmantojiet index.php kā emuāra veidni.

      Šis ir standarta veids, ko nodrošina WordPress. Visticamāk, tajās vietnēs, par kurām es runāju pašā ziņojuma sākumā, tas tiek izmantots. Apskatīsim to soli pa solim.

      Starp citu, tā kā faila index.php saturs dažādās tēmās ir atšķirīgs, tas var nebūt paredzēts emuāram, tādos gadījumos mēs vai nu mainām savu index.php paši, vai arī izmantojam otro metodi, ko aprakstīju. zemāk.

      1. darbība. Izveidojiet emuāra lapu.

      Nu ko lai saka, pāriesim pie Lapas > Pievienot jaunu, Mēs norādām kādu nosaukumu, piemēram, emuārs, un kādu URL, piemēram, emuāru, un pēc tam to saglabājam. Tas arī viss, 1. darbība ir pabeigta.

      2. darbība. Iestatījumos konfigurējiet lapu attēlošanu.

      Ejam uz Iestatījumi > Lasīšana Mēs konfigurējam vajadzīgās lapas parādīšanu galvenajā lapā, un ziņu lapai iestatām iepriekšējā darbībā izveidoto.

      3. solis. Pēdējais solis. Lapas pievienošana izvēlnei.

      Pēc otrās darbības pabeigšanas, kad dodaties uz emuāra adresi (mums tā ir yourwebsite.com/blog), jūs redzēsiet lapu ar ierakstiem, izmantojot index.php faila veidni.

      Tomēr jūs varat arī pievienot šo lapu vietnes izvēlnei (ja to, protams, atbalsta tēma). Lai to izdarītu, dodieties uz Izskats > Izvēlne, kreisajā kolonnā atlasiet mūsu emuāra lapu un noklikšķiniet uz pogas Pievienot izvēlnei

      2. metode: izmantojiet savu emuāra veidni. Vairāku emuāru izveide vienā WordPress vietnē.

      Šī metode ļauj izveidot emuāra lapas, izmantojot savu veidni. Šī metode ir lieliska, ja jāmaina ziņas attēlošanas iestatījumi. Varat izveidot dažādas lapas ar dažādām izvades opcijām.

      Būs nedaudz vairāk soļu, un tie būs nedaudz sarežģītāki nekā iepriekšējā metodē. Tātad, ejam.

      1. darbība. Izveidojiet lapas veidni

      Atveriet mapi ar motīvu un izveidojiet tur failu ar patvaļīgu nosaukumu, piemēram, blog-template.php. Ielīmējiet failā:

      2. darbība. Izveidojiet emuāra lapu

      Šis solis ir līdzīgs pirmajam solim no ziņas sākuma. Tātad ejam uz Lapas > Pievienot jaunu, Mēs izstrādājam lapas nosaukumu un URL, kā arī lapas atribūtos, cita starpā, norādām tikko izveidoto veidni.

      Ietaupīsim.

      3. darbība. Lapas navigācijas spraudnis

      Ir skaidrs, ka mums būs nepieciešama lapas navigācija. Visticamāk, jūs jau izmantojat kādu spraudni vai navigācijas funkciju. Ja navigācija nedarbojas, iesaku iestatīt WP_PageNavi— šis spraudnis darbojas lieliski, es to pārbaudīju, viss ir kārtībā.

      4. darbība. Emuāra lapas veidne

      Šī ir tukša emuāra veidne bez tik svarīgām funkcijām kā get_header() . get_footer() un citas lietas. Ir svarīgi tikai izprast šī brīža būtību.

      /* * Veidnes nosaukums: Emuārs */$current_page = (get_query_var("paged" ) ) ? get_query_var("paged") : 1 ; // noteikt pašreizējo emuāra lapu$args = masīvs ( "posts_per_page" => get_option( "posts_per_page") , // noklusējuma vērtība tiek ņemta no iestatījumiem, bet jūs varat izmantot savu"paged" => $pašreizējā_lapa // Pašreizējā lapa) ; query_posts( $args ) ; $wp_query ->is_archive = true ; $wp_query ->is_home = false ; while (have_posts() ): the_post() ; ?>

      /* ziņas saturs */ ?>

      // lapas navigācijas funkcija

      Tas arī viss, emuāra lapa ir izveidota, tādējādi jūs varat izveidot dažādas emuāra lapas ar dažādiem $args masīva parametriem. Pilns parametru saraksts

      Izgūst ierakstus (ziņas, lapas, pielikumus) no datu bāzes, pamatojoties uz norādītajiem kritērijiem. Varat atlasīt jebkurus ierakstus un kārtot tos pēc vēlēšanās.

      WP_Post objektu (postu) masīvs. Katrs objekts masīvā izskatās šādi:

      Array(=> object(WP_Post)#4692 (24) ( ["ID"] => int(822) ["post_author"] => string(1) "1" ["post_date"] => virkne(19) "2016-07-07 10:28:57" ["post_date_gmt"] => string(19) "2016-07-07 07:28:57" ["post_content"] => string(6225) "Raksta saturs" ["post_title"] => string(37) "Nāves jūra (14 fotogrāfijas)" ["post_excerpt"] => string(15) "Citāts par rakstu" ["post_status"] => string(7) "publicēt" [ "comment_status"] => string(4) "atvērt" ["ping_status"] => string(4) "atvērt" ["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) "" ["komentāru_skaits"] => virkne(1) "0" ["filtrs"] => virkne(3) "neapstrādāts" ) => objekts(WP_Post)( ... ) => objekts (WP_Post)(... ))

      Lietošana

      get_posts($args);

      Lietošanas modelis

      // noklusējuma parametri $posts = get_posts(array("numberposts" => 5, "category" => 0, "orderby" => "date", "order" => "DESC", "include" => masīvs ( ), "exclude" => array(), "meta_key" => "", "meta_value" =>"", "post_type" => "post", "suppress_filters" => true, // apspiest izmaiņu filtrus SQL vaicājums )); foreach($posts kā $post)( setup_postdata($post); // izvades formāts the_title() ... ) wp_reset_postdata(); // atiestatīt $args (virkne/masīvs) Argumentu saraksts, pēc kuriem tiks iegūts rezultāts.
      Noklusējums: iepriekš iestatīts

      $args Parametru argumenti

      Sākot ar WordPress 2.6, papildus tālāk aprakstītajiem parametriem get_posts() var pieņemt visus tos pašus parametrus kā WP_Query.

      Get_posts() parametrs suppress_filters ir iespējots pēc noklusējuma, kas ir atspējots query_posts() un WP_Query - t.i. tur filtri strādā. Iespējojot suppress_filters, tiek izslēgti visi šāda veida SQL vaicājumu izmaiņu filtri: posts_* vai comment_feed_* .

      suppress_filters neietekmē filtra pre_get_posts darbību - tas darbosies neatkarīgi no tā, kas ir norādīts suppress_filters .

      Šī filtru atspējošana pēc noklusējuma var būt mulsinoša, ja ir spraudņi, kas ietekmē ierakstu izvadi, izmantojot SQL vaicājuma filtrus, piemēram, WPML. Šādos gadījumos suppress_filters ir jāatspējo.

      Parametram "kategorija" ir jānodod ID, nevis kategorijas nosaukums. Varat arī nodot virkni “category”: ID, atdalot ar komatiem.

      numura stabi (skaitlis) Parādīto ziņu skaits. Iestatiet uz 0, lai ierobežotu izvadi līdz maksimālajam ziņu skaitam lapā (iestatīts VI iestatījumos), vai iestatiet uz -1, lai noņemtu izvades ierobežojumus (LIMIT).
      Noklusējums: 5 kompensēt (skaitlis) Atkāpe no pirmā ieraksta (ieraksts). kategorijā (skaitlis/virkne/masīvs)

      No kurām kategorijām rādīt ziņas? Norādiet tās kategorijas ID, no kuras vēlaties iegūt ziņas, vai norādiet -3, nevis 3, ja vēlaties iegūt visas ziņas, izņemot ziņas no 3. kategorijas (izslēgt kategoriju). Varat norādīt vairākus ID, atdalot tos ar komatiem ("3,5,12" vai "-3,-5,-12").

      Skatiet WP_Query cat parametra aprakstu.

      Funkcijās WP_Query un query_posts() šis parametrs pēc noklusējuma ir atspējots (vienāds ar false).
      Noklusējums: patiess

      Piemēri

      #1. Tiek rādītas ziņas ar atkāpi

      Ja galvenajā lapā ir parādīts viens pēdējais ieraksts, bet jums ir jāparāda vēl 5 iepriekšējie no 1. kategorijas, varat izmantot šādu kodu:

        5, "nobīde"=> 1, "kategorija" => 1); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>
      • ">

      #2. Rāda ziņas ar atkāpi, nepārraujot galveno cilpu.

      Ja tika izmantota funkcija get_posts() un pēc tās jāizmanto standarta WordPress cilpa, tad jāsaglabā globālais mainīgais $post, rīkojieties šādi:

        5, "nobīde"=> 1, "kategorija" => 1); $myposts = get_posts($args); foreach($myposts as $post)( setup_postdata($post); ?>
      • ">

      #3. Spēja izmantot īpašas VI Loop funkcijas

      Pēc noklusējuma cilpā, kuras pamatā ir get_posts(), nav iespējams izmantot, piemēram, funkciju_content() vai_date(). Šo problēmu atrisina funkcija setup_postdata(), kurai ir jānodod mainīgais $post:

      3); $lastposts = get_posts($args); foreach($lastposts kā $post)( setup_postdata($post); // iestatīt datus?>

      ">

      Datus var iegūt arī, piekļūstot objekta rekvizītam (objekts->objekts_īpašums). Piemēram, šajā piemērā $post->ID būs vienāds ar ziņas ID, $post->post_content ietvers ziņas saturu. Objekta rekvizīts ir ziņu datu bāzes tabulas kolonna. Kolonnu nosaukumus var apskatīt.

      Neaizmirstiet, ka dati tiek parādīti ekrānā, izmantojot operatoru php echo:

      ID; ?>

      #4. Jaunākās ziņas sakārtotas pēc nosaukuma

      Mēs saņemsim jaunākās ziņas, kas sakārtotas pēc nosaukuma alfabēta secībā. Šajā piemērā tiks parādīts ziņas datums, nosaukums un citāts:

      10, "order"=> "ASC", "orderby" => "nosaukums")); foreach ($postslist kā $post)( setup_postdata($post); ?>


      #5. Nejauši ieraksti

      Iegūsim 5 nejaušas ziņas, kas ieviestas, izmantojot parametru "orderby" => "rand":

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

      #6. Iegūstiet visus pievienotos failus

      Izmanto ārpus WordPress cilpas. Šis kods parādīs pievienotā faila nosaukumu, saiti un citātu:

      "pielikums", "posts_per_page" => -1, "post_status" => null, "post_parent" => null); $pielikumi = get_posts($args); if ($pielikumi) ( foreach ($pielikumi kā $post) ( setup_postdata($post); the_title(); the_attachment_link($post->ID, false); the_excerpt(); ) ) wp_reset_postdata(); ?>

      #7. Pievienotie faili konkrētai ziņai

      Kods ir jāizmanto WordPress cilpā, kur mainīgais $post->ID ir:

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

      #8. Jaunākās ziņas no tās pašas kategorijas

      Mēs parādīsim jaunāko ziņu sarakstu pašreizējā kategorijā, kurā atrodas ziņa. Šajā gadījumā mēs izslēgsim pašreizējo ierakstu:

      term_id; $real_id = get_the_ID(); $args = masīvs("cat" =>$cat_add_id); $posts = get_posts($args); foreach($posts kā $post)( setup_postdata($post); if ($post->ID<>$real_id)( ?> ">

      Piezīmes

        Kopš versijas 2.6 ir mainītas vairākas nosūtītās vērtības parametram orderby - ir noņemts prefikss post_, piemēram, bija post_title, tas kļuva tikai virsraksts.

      • Kopš versijas 3.0 ID masīvus var nodot arī iekļaušanas un izslēgšanas parametriem.

      Vai vēlaties iegādāties lētus skatījumus vietnē Instagram video vai TV pārraidei, bet nezināt, kur? Mēģiniet apmeklēt Doctor SMM vietni, kur jums tiks piedāvāta viena no zemākajām cenām vietnē RuNet par skatījumiem. Pasteidzies, jo piedāvājums ir spēkā ierobežotu laiku! Turklāt šeit jūs varat ļoti ātri iegādāties resursu ar optimālu ātruma režīmu tieši jūsu lapai. Paplašiniet savu kontu ātri un vienkārši!

      Piezīmes

      • Skatīt: WP_Query::parse_query()

      Izmaiņu saraksts

      No versijas 1.2.0 Ieviests.

      Kods saņemt ziņas: 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"] = ("pielikums" == $r["post_type"]) ? "mantot" : "publicēt"; ) if (! tukšs ($r["numberposts"]) && empty($r["posts_per_page"])) ( $r["posts_per_page"] = $r["numberposts"]; ) if (! empty($r["kategorija" ])) ( $r["kaķis"] = $r["kategorija"]; ) if (! tukšs($r["iekļauts"])) ( $incposts = wp_parse_id_list($r["iekļauts"]); $r["posts_per_page"] = skaits($incposts // tikai iekļauto ziņu skaits $r["post__in"] = $incposts (! tukšs($r["izslēgt"])) ($ r ["post__not_in"] = wp_parse_id_list($r["izslēgt"] ) $r["ignore_sticky_posts"] = patiess; $r["no_found_rows"] = patiess; $get_posts = jauns WP_Query; return $get_posts->query($r); )

      Izmantojot WordPress, kā parasts bloga dzinējs ar gatavu tēmu, tāds jautājums mums nerastos. Mēs vienkārši neiejaucamies darba algoritmos CMS, paši ieraksti kaut kā tiek parādīti. Kurā gadijumā izvadīt WordPress ziņas vai tas mūs sāk interesēt?

      Tad, kad mēs savācam no statiskā HTML padariet izkārtojumu unikālu WordPress temats. Precīzāk, mēs vēlamies piedāvāt savus pakalpojumus izkārtojumu stiepšanai WordPress. Tātad, bez prasmēm rādīt WordPress ziņas jebkurā vietā vietnē - jūs nevarēsit tikt galā.

      WordPress motīva struktūra

      Kāda ir tēma WordPress? Šī ir failu (veidņu) kopa, kas sastāv no HTML kods sajaukts ar PHP kodu. Jebkurā motīvā ir jābūt vismaz diviem failiem: indekss.php Un CSS stilu fails. HTML kods ir unikālā dizaina izkārtojums un PHP kods sastāv no funkcijām un tagiem, kas jau aprakstīti kodolā WordPress, mēs nekad nepieskaramies kodola failiem.

      Atcerieties to visu HTML kodam jābūt ārpus sākuma un aizvēršanas tagiem PHP. Gluži pretēji, viss PHP Kods ir rakstīts tikai tagu iekšpusē. Piemēram, mēs parādīsim ziņas autora vārdu WordPress cilpa:

      Kodā WordPress Tajā ir sīki aprakstīts, ko šie veidņu tagi dara un kā tos parādīt vietnē. Lai izveidotu motīvu WordPress no jauna, jums ir jāzina šo veidņu tagu kopa un to pielietošana.

      WordPress ziņu veidņu tagi

      the_permalink
      nosaukums
      laiks
      saturs
      Autors
      the_excerpt
      the_category

      Šie veidņu tagi tiek izmantoti, lai parādītu rakstus sākumlapā WordPress veidnē indekss.php.

      ">

      Parādām ieraksta izveides datumu:

      Parādīsim pašu rakstu - saturu, tagā div:



      Uzmanību! Nekas neiznāca. Kāpēc? Tā kā šie veidņu tagi tiek izvadīti tikai cilpas ietvaros, tie nedarbojas ārpus cilpas. Mums viss šis kods ir jāievieto cilpas iekšpusē. Visi PHP Un HTML kods cilpas iekšpusē tiks atkārtots tik reižu, cik mums ir ieraksti. Skatiet zemāk esošo kodu.



      Šeit mēs ievietojām visu iepriekš minēto kodu. Mēs atrodamies ciklā.



      Sapratīsim, ko nozīmē iepriekš minētais kods. Mēs uzstādām nosacījumu, ka, ja datu bāzē ir ieraksti, tiks parādīts ieraksta nosaukums, izveides datums un saturs.

      Ja ir amata vietas, tad ciklā kamēr funkcija darbojas pasts kurš nodarbojas parāda visus ierakstus, kamēr tie pastāv.

      Pabeigta cilpa un stāvoklis.


      Cikls darbosies tik ilgi, kamēr būs ieraksti, skaits ierakstu izvade vienā lapā ir iestatīts emuāra iestatījumos. Ja ir vairāk ierakstu, tad lapā parādīsies lappušu elementi. Tādā veidā visas ziņas tiks parādītas emuārā un WordPress automātiski izveidos tik daudz lapu, cik nepieciešams.

      Mēs iepazināmies tikai ar dažām tēmas veidošanas funkcijām WordPress- tās ir funkcijas ierakstu izvade. Tomēr šeit galvenais ir saprast principu un nemēģināt to iegaumēt vai iegaumēt.

      Prakse

      Apsvērsim ierakstu izvade izmantojot tēmu kā piemēru Divdesmit septiņpadsmit. Ziņas tiek parādītas, izmantojot veidnes tagu get_template_part veidnes cilpā indekss.php, kas nodod veidnes saturu parametros saturs.php.

      if (have_posts()) :
      /* Sākt cilpu */
      kamēr (have_posts()) :
      pasts();
      get_template_part("veidnes daļas/post/saturs", get_post_format());
      beigas;
      endifs; ?>

      Veidnē saturs.php Ziņas virsraksts tiek parādīts kopā ar saiti uz pašu ziņu un saturu.