Täielik juhend kohandatud postitustüüpide kohta WordPressis. Kohandatud postituse tüüp WordPressis – register_post_types, register_taxonomy Millistel juhtudel peaksite looma kohandatud postituse tüübi?

$post_type ( rida) mida soovite oma postituse tüübiks nimetada, kasutatakse seda nime edaspidi paljude funktsioonide parameetrites, pidage seda meeles. Lisaks ei saa pealkirjadena kasutada järgmisi WordPressi reserveeritud sõnu:

  • manus
  • läbivaatamine
  • nav_menu_item
  • custom_css
  • customize_changeset
  • tegevust
  • tellida
  • teema
  • autor
$args ( massiivi) sisaldab järgmisi parameetreid: sildid ( massiivi) võimaldab allkirjastada antud postitustüübi liidese elemente. Täpsemalt postituse lõpus olevas näites. kirjeldus( rida) registreeritava kirjetüübi kirjeldus. Minu teada ei kasutata seda seadet kuskil WordPressi mootoris ega standardsetes pistikprogrammides ja teemades. Kuid seda võib hästi kasutada kolmandate osapoolte pistikprogrammides või teemades. avalik( loogiline) üldistab mõned järgmised parameetrid, määrates neile vastavad vaikeväärtused Publicly_queryable ( loogiline), kas seda tüüpi postituste elemendid tuleb saidil kättesaadavaks teha. Lisateavet selle parameetri eesmärgi kohta.
Vaikimisi: avaliku argumendi väärtus. external_from_search( loogiline)
  • tõene – välistage seda tüüpi kirjed saidi otsingutulemustest,
  • vale – ära välista.

Vaikimisi: avaliku parameetri vastupidised väärtused. show_in_nav_menus( loogiline), kas seda tüüpi postituste elemendid tuleks saidi menüüsse lisamiseks kättesaadavaks teha.
Vaikimisi: avaliku argumendi väärtus. show_ui( loogiline), kas seda tüüpi kirjete redigeerimiseks ja lisamiseks on vaja administraatori paneelil lisada standardliidest.
Vaikimisi: avaliku argumendi väärtus.

Näita_menüüs ( loogiline|rida), kas administraatori menüüsse on vaja üksusi lisada.

Vaikimisi: argumendi show_ui väärtus. show_in_admin_bar ( loogiline), kas seda tüüpi uue kirje loomiseks on vaja administraatori paneelis linki lisada.

Vaikimisi: argumendi show_in_menu väärtus. menu_position( täisarv) korralduse järjekord administraatori paneeli menüüs.

menu_icon( rida) menüü ikooni absoluutne URL. Optimaalne pildi eraldusvõime on 16x16 pikslit.

Lisaks tutvustas WordPress 3.8 sisseehitatud ikoonipaketti – saad kasutada ükskõik millist neist ikoonidest, määrates lihtsalt selle nime parameetri väärtusena, näiteks dashicons-cart.

Vaikimisi kasutatakse tavaliste postituste ikooni. delete_with_user( loogiline) kas kasutajat blogist kustutades tuleks automaatselt kustutada kõik tema avaldatud seda tüüpi kirjed?
Vaikimisi: false. hierarhiline ( loogiline), kas seda tüüpi postitustel peaks olema hierarhia.
Vaikimisi: false. has_archive( loogiline|rida), kas seda tüüpi postitustel peaks olema oma arhiivileht. Parameetri väärtuseks saate määrata arhiivilehe otsetee.
Vaikimisi: false. uuesti kirjutama( massiivi|loogiline) määrab URL-ide püsilinkide reeglid. Kui määrate selle parameetri väärtuseks false, siis püsilinkide reegleid ei looda.

Nälkjas ( rida) silt, mida kasutatakse seda tüüpi postituste puhul (vaikimisi on postituse tüübi nimi) koos_front ( loogiline) kas lisada püsilinkide (vaikimisi - true) voogudele väärtus $wp_rewite->front ( loogiline) kas seda tüüpi postituste jaoks on vaja luua RSS-voog (vaikimisi - parameetri has_archive väärtus) lehtedele ( loogiline) kas registreeritud tüüpi postituste puhul peaks olema lubatud lehekülgede lisamine(vaikimisi on tõene) toetab ( massiivi), millised tuleb seda tüüpi kirjete redigeerimiseks lehtedele lisada.

  • pealkiri – väli postituse pealkirja sisestamiseks
  • toimetaja - tekstiredaktor
  • väljavõte — “Tsitaadi” metakast
  • autor — “Autori” metakast
  • pisipilt – metakast "Postita pisipilt" (lisaks peab teie teema neid toetama)
  • kommentaarid — metakast "Kommentaarid" (kui see on määratud, on registreeritud tüüpi postituste kommenteerimine lubatud)
  • trackbacks — metakast "Saada tagasilinke"
  • kohandatud väljad – metakast „Kohandatud väljad” (kohandatud väljasid toetatakse igal juhul)
  • redaktsioonid — metakast "Redaktsioonid" (kui see on määratud, luuakse seda tüüpi postituste versioonid andmebaasi)
  • page-attributes – metakast „Lehe atribuudid” võimalusega valida ülemelement ja seada järjestus menu_order
  • post-formaadid - "Format" metakast, lugege lisateavet postituste vormingute kohta.
  • taksonoomia ( massiivi) selle postituse tüübi jaoks kasutatavate taksonoomiate massiiv, näiteks kategooria või post_tag . Funktsiooni abil saate määrata ka taksonoomiaid.

    Postituse tüübi registreerimise näide

    Kui te ei tea, kuhu koodi sisestada, kleepige see oma praeguse teema faili functions.php.

    add_action ( "init" , "true_register_products" ) ; // Kasutage funktsiooni ainult init konksu sees function true_register_products() ( $labels = array ( "nimi" => "Tooted" , "ainsuse_nimi" => "Toode" , // administraatori paneel Lisa->Funktsioon"add_new" => "Lisa toode" , "add_new_item" => "Lisa uus toode", // sildi pealkiri </span>"edit_item" => <span>"Muuda toodet"</span>, "new_item" => "Uus toode" , "all_items" => "Kõik tooted" , "view_item" => <span>"Vaadake tooteid saidil"</span>, "search_items" => "Otsi tooteid" , "not_found" => <span>"Tooteid ei leitud."</span>, "not_found_in_trash" => <span>"Kärus ei ole ühtegi kaupa."</span>, "menu_nimi" => "Tooted" <span>// link administraatori paneeli menüüs</span>) ; $args = array ( "labels" => $labels , "public" => true , <span>// tänu sellele saab mõned parameetrid vahele jätta</span>"menu_icon" => "dashicons-cart" , <span>// ostukorvi ikoon</span>"menu_positsioon" => 5 , "has_archive" => true , "supports" => array ( "title" , "editor" , "excerpt" , "thumbnail" , "comments" ) , "taksonoomiad" => array ( " post_tag" ) ); register_post_type("toode" ,$args ) ; )</td> </tr></table><p><span class="koXPsjWcBis"></span></p></ul> <p>Looge kohandatud postituse tüüp <b>Artiklid</b> kohandatud kategooriatega (kohandatud taksonoomia) <b>Artiklite kategooria</b>.</p><p>Minu puhul on kõik standardkirjed tooted, seega kuvame artikleid kohandatud kirjete kaudu.</p><p>Funktsioonide failis functions.php registreerime kohandatud postituse tüübi Artiklid:</p><p>Funktsioon wptp_create_post_type() ( $labels = array("nimi" => __("Artiklid"), "ainsuse_nimi" => __("Artiklid"), "add_new" => __("Uus artikkel"), "add_new_item" => __("Lisa uus artikkel"), "edit_item" => __("Muuda artiklit"), "new_item" => __("Uus artikkel"), "view_item" => __("Kuva artikkel"), "search_items" => __("Otsi artikleid"), "not_found" => __("Artikleid ei leitud"), "not_found_in_trash" => __("Prügikastist artikleid ei leitud"),); $args = array( "labels" => $sildid, "has_archive" => true, "public" => true, "hierarhiline" => false, "menu_position" => 5, "supports" => array("pealkiri", "toimetaja" , "väljavõte", "kohandatud väljad", "pisipilt")); register_post_type("artiklid", $args); ) add_action("init", "wptp_create_post_type");</p><p>Kui soovite, et kohandatud postitustes kuvataks standardkategooriad, linkige need kategooriate taksonoomiaga:</p><p>"taxonomies" => array("kategooria"),</p><p>Kui loote kohandatud postituste jaoks ka kohandatud taksonoomiaid, peate need linkima loodud taksonoomiatega; kui võtame alloleva näite, on need artiklid_kategooria</p><p>"taxonomies" => array("artiklite_kategooria"),</p><p>Seejärel registreerime kohandatud artiklite postitustüübi jaoks „artiklikategooria” taksonoomiad, et erinevad postitused kuuluksid erinevatesse kategooriatesse.</p><p>Funktsioon wptp_register_taxonomy() ( register_taxonomy("artiklite_kategooria", "artiklid", array("labels" => array("name" => "Artikli kategooriad", "ainsuse_nimi" => "Artikli kategooria", "search_items" => " Otsi artiklite kategooriatest", "all_items" => "Kõik artiklite kategooriad", "edit_item" => "Muuda artiklikategooriaid", "update_item" => "Uuenda artikli kategooriat", "add_new_item" => "Lisa uus artikli kategooria", "new_item_name" => "Uue artikli kategooria nimi", "menüü_nimi" => "Artikli kategooria", "hierarhiline" => true, "sort" => true, "args" => array("orderby" => "term_order"), "show_admin_column" => true)); ) add_action("init", "wptp_register_taksonoomia");</p><p>Kohandatud taksonoomia jaoks saate muuta nälkja ilusamaks, et see ei oleks artiklite_kategooria, kuid peate veenduma, et selliseid nälkjaid pole enam teistel lehtedel või postitustes, vastasel juhul on probleeme:</p><p>"rewrite" => array("slug" => "blogi"),</p><p>Nälkjate vahetamisel peate administraatori paneelil värskendama sätteid "Püsilingid", vastasel juhul kuvatakse soovitud lehe asemel tõrketeade 404.</p><p>Rohkem näiteid leiate siit. Aga see aitas kogu selle koodi korda seada, mille eest olen autorile väga tänulik.</p><p>Fail single.php vastutab kohandatud postituse välimuse eest, kuid kohandatud postituse välimuse muutmiseks saate luua faili single-(postituse_tüüp).php – minu puhul on see single-articles.php koos oma sisu.</p><p>Nüüd peate lehel kuvama kohandatud postitusi. Vaikimisi vastutab fail index.php kohandatud postituste arhiivi kuvamise eest. Kuid saate luua faili, mis vastutab teie taksonoomias kohandatud kirjete kuvamise eest. <br></p><h2>1. variant on kõige õigem. Taksonoomias kuvame kirjeid samamoodi nagu tavalises kategoorias.</h2><p>Selleks looge fail taksonoomia-(taksonoomia).php - minu puhul on selleks taksonoomia-articles_category.php ja selles kuvame tavalist tsüklit, nagu kategooria tavakirjete puhul:</p><p> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="cat-title"><?php single_cat_title(); ?></div> <div class="tax-wrap"> <?php if (have_posts()) : while (have_posts()) : the_post(); get_template_part("include/tax-item"); endwhile; get_template_part("include/pagination"); endif; ?> </div><!-- /tax-wrap --> </div><!-- /col-md-12 --> </div><!-- /row --> </div><!-- /container --> </p><p>Failis tax-item.php kuvame andmed, mida peame igast postitusest hankima, näiteks pealkirja, postituse lingi, pisipildi ja väljavõtte.</p><p>Failis pagenation.php kuvame lehekülgede sellises vormingus.</p><p>Tsükkel ei ole muudetav, lehekülgede vahetamine toimib suurepäraselt. See on parim valik kohandatud taksonoomiate kuvamiseks. <br></p><h2>Variant 2 – kui kohandatud taksonoomiaid pole, saate kõik kohandatud postitused lihtsalt hankida arhiivi kujul</h2><p>Selleks loome mallis failiarhiivi-(post_type).php - minu puhul saab selleks archive-articles.php , milles, nagu taksonoomias, kuvame tavalise tsükli, ainult et selle asemel Taksonoomia pealkiri kuvame kohandatud postituse tüübi nime<?php post_type_archive_title(); ??> :</p><p> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="cat-title"><?php post_type_archive_title(); ?></div> <div class="tax-wrap"> <?php if (have_posts()) : while (have_posts()) : the_post(); get_template_part("include/tax-item"); endwhile; get_template_part("include/pagination"); endif; ?> </div><!-- /tax-wrap --> </div><!-- /col-md-12 --> </div><!-- /row --> </div><!-- /container --> </p><p>Selle valiku korral, kui kohandatud postituse jaoks pole arhiivilehte loodud, saate kõigi kohandatud postituste loendi otselingi BLOG_URL?post_type=(post_type) või minu puhul http://site.com/ kaudu. artiklid/ . <br></p><h2>Valik 3. Lihtsalt kuvage kõik kohandatud artiklite kirjed lehel antud malliga</h2> <?php $args = array("post_type" =>"artiklid", "postitused_lehe kohta" => -1); $loop = new WP_Query($args); while ($loop->have_posts()) : $loop->the_post(); get_template_part("include/tax-item"); lõpp; ?> <p>get_template_part("include/tax-item"); – failis tax-item.php kuvan postituse sisu, mida mul on vaja tsükli sees olevate postituste kuvamiseks (pealkiri, pisipilt, kuupäev, tsitaat jne)</p><p>See valik kuvab kõik lehel olevad artiklid, olenemata taksonoomiatest (kategooriatest).</p><p>Ja kui meil on vaja iga kategooriat eraldi kuvada oma uudistega, siis kasutame esimest ülalkirjeldatud võimalust.</p><p>Seda öeldes, kui kasutate Yoast SEO pistikprogrammi ja kasutate selle riivsaia:</p><p> <?php if (function_exists("yoast_breadcrumb")) { yoast_breadcrumb(" "); } ?> </p><p>Seejärel, kui valite plugina seadetes jaotises "Taksonoomia postituste tüüpide jaoks leievarusena kuvatav taksonoomia", saate leiupurus lingi kategooriale, kuhu uudised kuuluvad; koos muude kohandatud postituste kuvamise võimalustega. , seda ei saanud teha.</p> <p>Teave kohandatud postitustüüpide kohta WordPressis (CPT, kohandatud postituste tüübid WordPressis), kuidas luua ja konfigureerida, lisada kategooriaid ja silte, kuidas luua pesastatud URL-e /postituse tüüp/kategooria/postitus või http://example.com/post_type/ kategooria/ postitus/ . <br>Samuti kirjeldatakse, kuidas laiendada WordPressi standardset funktsionaalsust, luues uut tüüpi postitusi, mida saab kasutada erinevatel eesmärkidel: oma portfelli lisamine, filmi- ja muusikaregister, tootekataloog, sündmuste kalender, isegi oma väikese veebi tegemine. poodi (sest suur on parem kasutada valmislahendusi nagu WooCommerce) või suhtlusvõrgustikku ja palju muud selles vaimus. <br>Esiteks üldine teave, seejärel üksikasjad.</p> <h2>Postituste kohta WordPressis: kus neid andmebaasis hoitakse ja kuidas neid hankida</h2> <p>Absoluutselt kõik WordPressi postitused, millest allpool räägitakse, on salvestatud ühte tabelisse: wp_posts. Postituse metaandmed, näiteks metakastide andmed, salvestatakse tabelisse wp_postmeta.</p> <p>Toon näite, kuidas saada 10 tüüpi postitust (standardne <b>Postitused</b> administraatori paneelil). <br>Üldiselt ei ole vaja andmeid konkreetselt nõuda. Mallides on need juba eelinstallitud, näiteks single.php-s on kirje andmed juba tsüklis töötlemiseks saadaval</p><p>If (have_posts()) ( while (have_posts()) ( the_post(); // Siin kasutame tsükli andmeid, näiteks the_title() jne ) )</p><p>Kui andmeid on vaja hankida väljaspool tsüklit või malli, kasutatakse päringut WP_Query</p><p>$args = array("post_type" => "postitus", // Postituse tüüp: leht, manus, ... "posts_per_page" => 10, // 10 postitust korraga); $p = hanki_postitused($args); // Andmeid saab tsüklina laiendada if (!empty($p)) ( foreach ($p kui $post) ( setup_postdata($post); ?> "><?= the_title() ?> <?php } wp_reset_postdata(); } </p><p>Andmeid saab hankida SQL-päringu abil:</p><p>Globaalne$wpdb; $query = "SELECT * FROM ($wpdb -> postitused) WHERE post_type = "postitus" LIMIT 10"; $p = $wpdb -> saada_tulemused($päring); exit(print_r($p)); // $p sisaldab nüüd massiivi postitusandmetega</p><p>Kõik kolm ülaltoodud meetodit annavad sama väljundtulemuse. <br></p> <h2>Eelseadistatud postitustüübid WordPressis: postitus, leht, manus, redaktsioon, nav_menu_item</h2> <h3>Kirjed või postitused (postitus)</h3> <p>Kõikidest WordPressis leiduvatest tüüpidest enimkasutatav üksus on postitused (ehk postitused). Kasutatakse blogipostituste jms. Sellel on 2 eelseadistatud taksonoomiat: pealkirjad, mida nimetatakse ka kategooriateks (kategooria) ja sildid, mida tuntakse ka siltidena (post_tag). <br>Taksonoomiat kasutatakse postituste sortimiseks ja korraldamiseks. <br>Kategooriad erinevad siltidest selle poolest, et neil on puu struktuur (neid saab üksteise sisse pesastada). <br>Märgised on üksteisest sõltumatud üksused ja on sel moel mõnevõrra sarnased Recordsiga. <br>Samuti luuakse vaikimisi kirjetest WordPressi saidi RSS-voog.</p> <p>Kirjete jaoks kasutatakse järgmisi mallifaile (prioriteedi järjekorras):</p> <ol><li>ühepostitus.php</li> <li>üksik.php</li> <li>ainsus.php</li> <li>index.php</li> </ol><blockquote class="note"><p>Mallifaile otsitakse prioriteedi järjekorras ülalt alla. Kui teemast leitakse mallifail, kasutatakse seda ja otsing peatatakse.</p> </blockquote> <h3>Leheküljed</h3> <p>Lehti kasutatakse peamiselt teeninduslehtedena, sihtlehtedena, maandumislehtedena, entsüklopeediakogudena jms. Neil on puutaoline hierarhia, st neid saab üksteise sisse pesastada, mis kajastub viimase lehe aadressis (ülemate otseteed on URL-i ahelas olemas) ja selles rollis on võimalik anda neile sorteerimisel eelisõigus. <br>Sihtlehe loomiseks võite kasutada kahte võimalust. <br></p> <h4>Looge spetsiaalne lehe mall</h4> <p>Looge kuskil teema sees juur- või alamkataloogis fail suvalise nime ja php laiendiga, näiteks landing.php. Sees saate paigutada absoluutselt igasuguse malli, mis võib saidi teistest lehtedest täiesti erineda. Kuid peamine on asetada see kood faili algusesse:</p><p> <?php /* Template Name: Наш уникальный лендинг */ </p><p>Malli nimi on spetsiaalne silt, mis ütleb WordPressile, et see fail on spetsiaalne mall. <br>Nüüd mis tahes lehe loomisel ja redigeerimisel vaadake parempoolset plokki nimega Lehe atribuudid, selle jaotises Malli saate valida meie ainulaadse sihtlehe.</p> <p>Lehtede puhul kasutatakse järgmist mallide hierarhiat. Nagu kirjete puhul, märgin ma prioriteetsuse järjekorras:</p> <ol><li>(mall).php</li> <li>leht-(lehe_silt).php</li> <li>leht-(leht_ID)</li> <li>page.php</li> <li>ainsus.php</li> <li>index.php</li> </ol><h3>Manused, manused või manused</h3> <p>Utiliidi tüüp, mis on mõeldud postituse, lehe või muu sarnase redigeerimisel üleslaadija kaudu üleslaadija kaudu üles laaditud failide (pildid, heli, video jms) kohta teabe salvestamiseks postituse, lehe vms redigeerimisel: suurus, kaal, kirjeldus, milline postitus või leht nad on kiindunud ja muud sellised.</p> <p>Saate hankida manuseid, et nendega hiljem manipuleerida, kasutades järgmist koodi:</p><p>$args = array("post_type" => "attachment", // Postituse tüüp: manus "post_status" => "inherit", // Vaikimisi on "avalda" ja sellega ei saa te manuseid vastu võtta, seega näitame manuse eristaatus " pärida"); $p = hanki_postitused($args); exit(print_r($p)); // Väljundis on massiiv koos manustega</p><p>Manuste mallide hierarhia:</p> <ol><li>(mime-tüüpi).php</li> <li>(mime-alatüüp).php</li> <li>(mime-tüüp-alatüüp).php</li> <li>manus.php</li> <li>üksik.php</li> <li>ainsus.php</li> <li>index.php</li> </ol><h3>Revisjonid, mustandid või muudatused</h3> <p>Redaktsioonid, tuntud ka kui muudatused, on mustandite postituste versioonid, mis luuakse automaatselt, kui kirjutate artiklit WordPressi administraatoripaneelil või salvestate artiklit ilma seda tegelikult avaldamata. <br>Kirjutamise käigus salvestatakse iga artikli puhul vaikimisi iga mustandi versioon. Saate võrrelda kahte erinevat versiooni ja saate tagasi pöörduda vajaliku versiooni juurde. <br>Sama artikli paljude versioonide salvestamine on üsna kulukas ja sageli mõttetu (kuigi ilmselt oleks õigem jätta kõik vaikimisi, puhastades regulaarselt vanu redaktsioone, kasutades selleks pluginat, näiteks WP Optimize), seega on Redaktsioonide salvestatud versioonide arv. saab muuta kahe valikuga:</p> <ol><li>Kasutage filtrit wp_revisions_to_keep</li> <li>Registreeruge saidil wp-config.php //Keela redaktsioonid minimaalse võimaliku väärtuseni define("WP_POST_REVISIONS", 0); <p>Võimalikud väärtused:</p> <ul><li>tõene või -1: salvestab mustandi kõik versioonid. Vaikimisi valik</li> <li>väär või 0: keelab mustandite salvestamise, välja arvatud 1 automaatsalvestamine</li> <li>Täisarv, mis on suurem kui null: määratud arv mustandversioone salvestatakse + 1 automaatsalvestamine. Vanad versioonid, mis määratud arvu sisse ei mahu, kustutatakse automaatselt</li> </ul></li> </ol><h3>Navigeerimismenüü üksused (nav_menu_item)</h3> <p>Navigeerimismenüü (nav_menu_item) on postituse tüüp, mis salvestab teavet WordPressi navigeerimisüksuse kohta. Esimene ja seni ainus kirjetüüp, mida nagu muud tüüpi kirjed ei kasutata, saavad saidil käitamise ja kuvamise andmed oma eraldi funktsioonid. <br>Samuti ei ole navigeerimismenüüd vaikimisi lubatud. Nende lubamiseks peate deklareerima nende toetust:</p> <ol><li>Kirjutage add_theme_support("menüüd");</li> <li>Või registreerige menüüruum, kasutades register_nav_menu() , siis lülitatakse menüü tugi automaatselt sisse</li> </ol><p>Kasutage andmete hankimiseks käsku wp_nav_menu(), kuna WP_Query ei tööta ja see on postituse tüübi nav_menu_item funktsioon</p><p>// See kood töötab wp_nav_menu(); // Kuvab esimese registreeritud mittetühja menüü // Kuid allolev kood ei tööta $args = array("post_type" => "nav_menu_item", // Postituse tüüp: leht, manus, ...); $p = hanki_postitused($args); exit(print_r($p)); // Väljund on tühi massiiv</p><h2>Kohandatud postituse tüüp (CPT WordPress)</h2> <p>Nüüd jõuame peamise asjani - tööriistani, mis võimaldab teil laiendada standardset WordPressi ajaveebifunktsiooni lõpututele võimalustele: kohandatud kohandatud postituse tüüp. <br>Lihtsaim näide selle kohta, kuidas saate registreerida meie uut tüüpi postituse sheensay_product</p><p>Add_action("init", "sheensay_post_type"); function sheensay_post_type() ( register_post_type("sheensay_product", array("labels" => array("name" => "Tooted", "singular_name" => "Tooted",), "public" => true, // tüüp kirjed on otsimiseks ja muuks sarnaseks avatud "has_archive" => true, // Luba arhiivi lehed "supports" => array("title", "editor", "thumbnail", "comments"), // Luba arhiivi lehtede tugi pealkiri, toimetaja , pisipildid, kommentaarid));)</p><p>Siin on sheensay_product uue postituse tüübi nimi. See ei tohiks olla vastuolus teiste süsteemis osalejatega; selle kohta leiate lisateavet allpool. <br>Selles teostuses toimib see ka seda tüüpi postituste otseteena, see tähendab, et see on URL-is olemas. Kui soovite määrata näiteks teistsuguse otsetee <b>tooted</b>, tehke nagu allolevas näites</p><p>Add_action("init", "sheensay_post_type"); function sheensay_post_type() ( register_post_type("sheensay_product", array("labels" => array("name" => "Tooted", "singular_name" => "Tooted",), "public" => true, "rewrite" => array("slug" => "products"), // Silt Kohandatud postituse tüüp "has_archive" => true, "supports" => array("pealkiri", "toimetaja", "pisipilt"),) ) ;)</p><h3>Kuidas valida uuele postitustüübile õiget nime</h3> <blockquote class="attention"><p>Järgmised nimed on WordPressis reserveeritud ja neid ei saa kasutada uue postituse tüübi nimena:</p> <ul><li>manus</li> <li>läbivaatamine</li> <li>nav_menu_item</li> <li>tegevust</li> <li>teema</li> <li>tellida</li> </ul><p>Samuti peaksite vältima eesliite wp_ kasutamist nime alguses, kuna see võib põhjustada konflikte WordPressi tuuma tulevaste versioonidega. <br>Parim on, kui lisate oma saidi, toote või brändi nimega seotud suvaliste eesliidetega nimed, näiteks sheensay_product, siis väldite võimalikke konflikte</p> </blockquote> <h3>Kuidas teha kohandatud taksonoomiat</h3> <p>Kohandatud postitustüübid võivad kasutada postituste taksonoomiaid, näiteks kategooriaid (kategooriaid) või silte (silte), kuid teil võib olla oma taksonoomiaid.</p><p>Add_action("init", "sheensay_post_type"); function sheensay_post_type() ( // Registreerige taksonoomia register_taxonomy("sheensay_product_type", "sheensay_product", array("label" => "Types", "hierarchical" => true, // Kui TRUE), on taksonoomia analoogne pealkirjadega (kategooriad). Kui FALSE (vaikimisi), muutub taksonoomia siltide (siltide) analoogiks: "rewrite" => array("slug" => "product-type"),)); // Kohandatud postituse tüüp (kohandatud postituse tüüp) register_post_type ("sheensay_product", array("labels" => array("name" => "Products", "singular_name" => "Tooted",), "public" => true, " rewrite" => array("slug " => "products"), // Siin on defineeritud CPT silt "has_archive" => true, "supports" => array("pealkiri", "redaktor", "pisipilt") , // Luba pealkirja, redaktori, pisipildi tugi )); )</p><h3>Kohandatud postitustüüpide mallid</h3> <p>Kõik sõltub sellest, millist teavet kuvatakse. Valikuid võib olla 3: konkreetne postitusmall, postitusarhiivi mall ja taksonoomia mall <br></p> <h4>Postituslehe mall</h4> <p>Loetletud prioriteetsuse järjekorras</p> <ol><li>üksik-(postituse_tüüp).php</li> <li>üksik.php</li> <li>index.php</li> </ol><h4>Postitusarhiivi mall</h4> <ol><li>arhiiv-(postituse_tüüp).php</li> <li>arhiiv.php</li> <li>index.php</li> </ol><h4>Kohandatud taksonoomia mall</h4> <ol><li>taksonoomia-(taksonoomia_nimi)-(termin_nimi).php</li> <li>taksonoomia-(taksonoomia_nimi).php</li> <li>taksonoomia.php</li> <li>arhiiv.php</li> <li>index.php</li> </ol><p>Siin on taksonoomia_nimi sheensay_product_type ja termini_nimi on administraatoripaneelil loodava taksonoomia silt.</p> <h3>Kuidas hankida kohandatud postituse tüübi andmeid (Custom Post Type WordPress) ja kuvada need saidil</h3> <p>Saate hankida WordPressis kohandatud postituse tüübi andmeid oma veebisaidil kuvamiseks, kasutades samu meetodeid nagu tavalised postitused ja lehed</p><p>$args = array("post_type" => "sheensay_product", // Määrake meie uus postituse tüüp "posts_per_page" => 10,); $p = hanki_postitused($args); foreach ($p kui $post) ( setup_postdata($post); ?> "><?= the_title() ?><br /> <?php } wp_reset_postdata(); ?> </p><p>Kui me räägime põhipäringust, mille jaoks laaditakse andmed näiteks avalehel või tavalistel arhiivilehtedel kuvamiseks, siis suvalised postitustüübid on seal keelatud. <br>Nii et kui soovite, et mis tahes loodud postituse tüüp ilmuks näiteks arhiivilehtedel koos tavaliste postitustega, peate muutma postituse eellaadimise filtrit</p><p>// Ühendage meie "sheensay_product" standardse "postituse" ja "lehega" add_action("pre_get_posts", "add_sheensay_product_in_main_query"); function add_sheensay_product_in_main_query($query) ( if (is_archive() && $query -> is_main_query()) $query -> set("post_type", array("post", "page", "sheensay_product")); return $query ;)</p><h3>Valmis klass kohandatud taksonoomiaga kohandatud postitustüüpide loomiseks</h3> <p>Allpool on klass, mille abil saate registreerida mis tahes kohandatud postituse tüübi, millel on oma taksonoomia, ja URL näeb välja selline <br>http://example.com/products/type/product</p> <blockquote class="note"><p>URL-i genereerimiseks peate avama püsilingi seaded /wp-admin/options-permalink.php ja määrama mis tahes tüüpi üldsätted peale lihtsate</p> <p><img src='https://i0.wp.com/sheensay.ru/wp-content/uploads/2016/08/options-permalink.png' width="100%" loading=lazy loading=lazy></p> </blockquote> <p>Allpool on klassi kood ise. Te ei pea selles muudatusi tegema, kuid saate muuta postituse tüübi silti päris lõpus real new Sheensay_Product("products"); <br>Kood ise on kirjutatud või keeles . Eelistatav on esimene valik, kuna sel juhul ei kaota te aktiivse teema muutmisel juurdepääsu uue postituse tüübi sisule.</p><p> <??p=1713 * */ final class Sheensay_Product { // Ярлык произвольного типа записи по умолчанию private $post_type = "продукция"; function __construct($post_type = "") { // Переопределяем значение ярлыка по умолчанию if ($post_type) $this -> postituse_tüüp = $postituse_tüüp; /* * Registreeri kohandatud postituse tüüp */ add_action("init", array($this, "sheensay_cpt_product")); /* * URL-i filtreerimine */ add_filter("postituse_tüüp_link", array($this, "toote_permalink_structure"), 10, 2); /* * Lehekülgede toimimiseks */ add_action("generate_rewrite_rules", array($this, "fix_product_category_pagination")); ) function sheensay_cpt_product() ( /* * Registreerige kohandatud taksonoomia uue postituse tüübi jaoks */ register_taxonomy("sheensay_product_type", "sheensay_product", array("label" => "Tüübid", "hierarchical" => true, "query_var" " = > true, "rewrite" => array("slug" => $this -> post_type),)); /* * Registreerige uus postituse tüüp */ $labels = array("name" => "Tooted" , // Põhinimi "singular_name" => "Tooted", // Lisa "add_new" => "Lisa uus", // Külgriba uue kirje lingi nimi "add_new_item" => "Lisa uusi tooteid" , // Pealkiri redaktoris uue kirje lisamisel); $args = array("labels" => $labels, "public" => true, "publicly_queryable" => true, "show_ui" => true, "query_var " => true, "capability_type" = > "post", "hierarchical" => false, "menu_position" => null, "supports" => array("pealkiri", "toimetaja", "pisipilt", "väljavõte" ), "rewrite" => array( "slug" => $this -> post_type . "/%sheensay_product_type%", "with_front" => false,), "has_archive" => $this -> postituse_tüüp,); register_post_type("sheensay_product", $args); if (current_user_can("manage_options")) // Olge selle funktsiooniga ettevaatlik. See lähtestab kõik URL-i tuvastamise reeglid. Parem on seda kommenteerida pärast kogu töö lõpetamist flush_rewrite_rules(); ) function product_permalink_structure($post_link, $post) ( if (FALSE !== strpos($post_link, "%sheensay_product_type%")) ( $product_type_term = get_the_terms($post -> ID, "sheensay_product_type"); if (!empty ($toote_tüüp_term)) $postituse_link = str_ase > postituse_tüüp . "/([^/]+)/page/?((1,))/?$"]); $wp_rewrite -> reeglid = array($this -> postituse_tüüp . "/?$" => $wp_rewrite -> register . "?postituse_tüüp=sheensay_product", $this -> postituse_tüüp . "/page/?((1,))/?$" => $wp_rewrite -> register . "?post_type=sheensay_product&paged=" . $wp_rewrite -> preg_index(1), $this -> postituse_tüüp. "/([^/]+)/page/?((1,))/?$" => $wp_rewrite -> register . "?sheensay_product_type= ". $wp_rewrite -> preg_index(1) . "&paged=" . $wp_rewrite -> preg_index(2),) + $wp_rewrite -> reeglid; ) ) /* * Käivita klass * Sulgudes saab määrata postituse tüübi sildi nime */ new Sheensay_Product("tooted");</p><p>Nüüd saate administraatori paneelil registreerida uusi tooteid ja nende tüüpe</p> <p>a! Sisuhaldussüsteem <b>WordPress</b> pälvis tunnustust mitmeks aastaks, kuid tõeliseks läbimurdeks oli rekordite tüüpideks eraldamise oskuse rakendamine. Selles õppetükis vaatleme lähemalt kohandatud postituste tüüpe, nende loomist ja kasutamist.</p> <h3>Natuke ajalugu</h3> <p>Praktikas tekkisid kohandatud postituse tüübid üsna kaua aega tagasi, täpsemalt alates 17. veebruarist 2005, mil <b>WordPress 1.5</b> Staatiliste lehtede jaoks on andmebaasi välja post_type kaudu lisatud kohandatud tüüpide tugi. Funktsioon Wp_insert_post() on kasutusel olnud sellest ajast peale <b>WordPress 1.0</b> nii et kui välja post_type rakendati versioonis 1.5, oli selle funktsiooni abil üsna lihtne täita.</p> <p>Ja alles versioonis 2.8 ilmus kohandatud tüüpide loomiseks loodud funktsioon register_post_type() ja "öistes ehitustes" oli saadaval ka muud kasulikku ning juba 2.9-st said funktsioonid kõigile kättesaadavaks.</p> <h3>Mis nüüd?!</h3> <p>Kohandatud postituse tüüp pole midagi muud kui tavaline postitus (artikkel), millel on andmebaasis konkreetne välja väärtus post_type. Tavalises postituses on väljal post_type väärtus <b>postitus</b>, leht on oluline <b>lehel</b> ja nii edasi. Nüüd saame aga luua oma tüübid, et täpsustada postituses sisalduva sisu eripära. Saate luua kohandatud postitustüüpe raamatute, filmide, naljade, toodete ja kõige muu jaoks. <br>Kui teete õigesti, saate vaid mõne koodirea abil saavutada järgmised tulemused:</p> <ul><li>Asetage kohandatud tüüp administraatori ala põhipaneelile koos alammenüü üksustega: kõigi seda tüüpi kirjete loend ja looge ka selle tüübiga uus kirje;</li> <li>Looge seda tüüpi postitustest arhiiv, st tehke kohandatud tüübi jaoks midagi sarnast avalehega;</li> <li>Looge kategooriaid ja silte, millele pääseb juurde kohandatud postitustüüpide ja kohandatud taksonoomiate abil.</li> </ul><p>Erinevat tüüpi sisul on erinevad andmenõuded. Tavaliste postituste puhul soovite lisada autori, kategooria ja kuupäeva. “Raamat” tüüpi kirje puhul soovin, et saaksin täpsustada raamatu autori, lehekülgede arvu, žanri, kirjastaja ja muud konkreetsed andmed. Seda on lihtne saavutada, kasutades andmete sisestamiseks kohandatud (metakastide) alasid.</p> <p>— alad lisaandmete sisestamiseks otse kirje loomise lehel. Need alad muudavad kohandatud postitustüüpidega töötamise lihtsamaks.</p><p><img src='https://i0.wp.com/xozblog.ru/wp-content/uploads/2012/11/meta-boxes.jpg' align="center" height="202" width="299" loading=lazy loading=lazy><br></p> <h3>Kohandatud postitustüüpidega töötamine</h3> <p>Kohandatud postitustüüpide tõhusaks loomiseks ja kasutamiseks peaksite teadma järgmist.</p> <ul><li>Kohandatud postitustüüpide loomine;</li> <li>Kohandatud taksonoomia loomine;</li> <li>Kohandatud andmealade loomine.</li> </ul><h4>Kohandatud postitustüüpide loomine</h4> <p>Esimese asjana peate looma kohandatud postituse tüübi. Ideaalis loote kohandatud postitustüüpide käsitlemiseks pistikprogrammi, kuid võite kasutada ka oma teema faili functions.php.</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br></p> </td><td><p><br>$args = massiiv () ; <br>} <br></p> </td> </tr></tbody></table><p>See on lihtsaim vorm tüübi loomiseks, millel pole praktiliselt mingeid sätteid. Uue postitustüübi väljatöötamiseks kasutame mõnda kõige sagedamini kasutatavat valikut ja lisame need varem tühjale $args massiivile.</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br></p> </td><td><p>funktsioon my_custom_post_product() ( <br>$sildid = massiiv ( <br>"nimi" => _x( "Tooted" , "postituse tüübi üldnimi") , <br>"ainsuse_nimi" => _x( "Toode" , "postituse tüüp ainsuse nimi") , <br>"add_new" => _x( "Lisa uus" , "toode") , <br>"add_new_item" => __( <span>"Lisa uus toode"</span> ) , <br>"edit_item" => __( <span>"Muuda toodet"</span> ) , <br>"new_item" => __( "Uus toode") , <br>"all_items" => __( "Kõik tooted" ) , <br>"view_item" => __( <span>"Vaata toodet"</span> ) , <br>"search_items" => __( "Leia toode") , <br>"ei_leitud" => __( <span>"Tooteid ei leitud"</span> ) , <br>"ei_leitud_prügikast" => __( <span>"Ühtegi toodet pole eemaldatud"</span> ) , <br>"parent_item_colon" => "" , <br>"menu_name" => "Tooted" <br>) ; <br>$args = massiiv ( <br>"labels" => $labels , <br>"kirjeldus" => <span>"Kohandatud tootekirje tüüp"</span>, <br>"avalik" => tõsi , <br>"menu_position" => 5, <br>"supports" => array ("pealkiri" , "toimetaja" , "thumbnail" , "excerpt" , "comments" , "product_category" ) , <br>"has_archive" => true , <br>) ; <br>register_post_type( "toode" , $args ) ; <br>} <br>add_action( "init" , "my_custom_post_product" ) ;</p> </td> </tr></tbody></table> <ul><li><b>sildid</b>— seda siltide massiivi kasutatakse teemas loodava kohandatud postituse tüübi kirjeldamiseks./li></li><li><b>kirjeldus</b>- kokkuvõte loodava kohandatud postituse tüübi kohta, mida see teeb ja miks me seda kasutame.</li> <li><b>avalik</b>— kas kasutada kohandatud tüüpi avalikult ja näidata seda haldusalas. Sel juhul on tõde kindlaks tehtud.</li> <li><b>menüü_positsioon</b>— meie tüüpi menüüelemendi asukoht peamisel administraatoripaneelil. Väärtus 5 tähendab, et üksus installitakse kohe pärast menüükäsku „Kirjed”, kui 10 tähendab pärast üksust „Meediumifailid” jne.</li> <li><b>toetab</b>— see valik sisaldab massiivi, mis kirjeldab neid välju, mida saame kirje loomise lehel redigeerida. See tähendab, pealkiri - ilmub väli postituse nime sisestamiseks, toimetaja - kuvatakse tekstiala postituse teksti sisestamiseks jne. Samuti on näidatud kohandatud taksonoomia, mida kasutatakse toote_kategooria .</li> <li><b>on_arhiiv</b>- kui see on määratud tõeseks, luuakse ümberkirjutusreegel, mis võimaldab teil saada meie tüüpi kirjete loendi aadressil http://mysite.com/product/</li> </ul><p><br><img src='https://i0.wp.com/xozblog.ru/wp-content/uploads/2012/11/custom-post-types-1.png' align="center" width="100%" loading=lazy loading=lazy><br></p> <p>Pärast selle koodi installimist faili function.php peaksite nägema kohandatud postituse tüübi menüüd. Nüüd on võimalik kirjet lisada ja kirjete loendit vaadata.</p> <p>Kuid need pole kõik argumentide massiivi valikud; leiate täieliku valikute loendi ja kõik kohandatud tüüpide võimalused.</p> <h4>Interaktiivsed hoiatused</h4> <p>WordPress genereerib mõned kasutaja toimingutest käivitatud sõnumid. Samuti saame luua sarnaseid sõnumeid, et teavitada kasutajat tüüpidega töötamisel. Seda teeb post_updated_messages.</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br></p> </td><td><p>funktsioon my_updated_messages( $messages ) ( <br>globaalne $postitus , $postitus_ID ; <br>$messages["toode"] = array( <br>0 => "" , <br>1 => sprintf ( __( <span>"Toode uuendatud. Vaata"</span><br>2 => __() , <br>3 => __(<span>"Kohandatud väljad on värskendatud."</span>) , <br>4 => __(<span>"Toode uuendatud."</span>) , <br>5 => isset ($_GET [ "revision" ] ) ? sprintf (__( <span>"Toode taastati versioonile %s"</span>) , wp_post_revision_title( (int) $_GET [ "revision" ] , false ) ) : false , <br>6 => sprintf ( __( <span>"Toode avaldatud. Vaata"</span>) , esc_url( get_permalink($post_ID ) ) ), <br>7 => __(<span>"Toode salvestatud."</span>) , <br>8 => sprintf ( __( <span>"Toode tarnitud. Vaata"</span><br>9 => sprintf ( __( <span>"Toode on kavandatud: <strong>%1$s</strong>. Vaata"</span>) , date_i18n( __( "M j, Y @ G:i" ) , strtotime ( $post -> post_date ) ) ), esc_url( get_permalink($post_ID ) ) , <br>10 => sprintf ( __( <span>"Toote mustand värskendatud. Kuva"</span>) , esc_url( add_query_arg( "preview" , "true" , ​​​​get_permalink($post_ID ) ) ), <br>) ; <br>tagasta $teated ; <br>} <br>add_filter( "post_updated_messages" , "my_updated_messages" ) ;</p> </td> </tr></tbody></table><p>Pange tähele, et selle ühe funktsiooni abil saate määrata kõigi kohandatud postituste tüüpide jaoks märguandeid. Kui te tüübi nime ei määra, kasutatakse kõigi kohandatud tüüpide puhul hoiatusi.</p><p><img src='https://i2.wp.com/xozblog.ru/wp-content/uploads/2012/11/custom-post-types-2.png' align="center" width="100%" loading=lazy loading=lazy><br></p> <p>Kontekstuaalseid vihjeid rakendatakse ja kasutatakse harva. Kasutajana pole ma seda funktsiooni kunagi kasutanud, kuid olen kindel, et keegi neid ikka kasutab. Loome siis sellise kontekstuaalse abi. <br>Kontekstipõhised vihjed asuvad paremas ülanurgas, ekraani seadete vahekaardi lähedal.</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br></p> </td><td><p>function my_contextual_help( $contextual_help , $screen_id , $screen ) ( <br>if ( "redigeeri toodet" == $ekraan -> id ) (</p><p>$kontekstuaalne_abi = <span>"<h2>Tooted</h2><br> <p>Sellel lehel on kõigi saidil müüdavate toodete loend. Kirjed on kronoloogilises vastupidises järjekorras, kusjuures viimased loetletud üksused on need, mille lisasime esimesena.</p> <br> <p>Saate vaadata/muuta iga toote üksikasju, klõpsates selle nimel, või teha hulgitoiminguid rippmenüü abil, valides mitu üksust.</p>" </span>; </p><p>) elseif ( "toode" == $ekraan -> id ) (</p><p>$kontekstuaalne_abi = <span>"<h2>Toote loomine/redigeerimine</h2><br> <p>Sellel lehel saate luua toote või muuta selle kohta olemasolevaid andmeid. Täitke kindlasti täiendavad väljad.</p>" </span>; </p><p>} <br>return $kontekstuaalne_abi ; <br>} <br>add_action( "kontekstuaalne_abi" , "minu_kontekstuaalne_abi" , 10 , 3 ) ;</p> </td> </tr></tbody></table><p>Sellise vihje kuvamiseks peame teadma ekraani ID-d. Kui peate loomise ajal ekraani ID välja selgitama, tehke lihtsalt nii:</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"> </td><td><p>echo $screen -> id ;</p> </td> </tr></tbody></table><p><br><img src='https://i1.wp.com/xozblog.ru/wp-content/uploads/2012/11/custom-post-types-3.png' align="center" width="100%" loading=lazy loading=lazy><br></p> <h3>Kohandatud taksonoomia</h3> <p>Tavalise ajaveebi jaoks piisab organisatsioonilise struktuuri loomiseks kategooriatest ja siltidest. Kuigi kohandatud postitustüüpide puhul sellest alati ei piisa. Kohandatud taksonoomia võib selle probleemi lahendada. Meie puhul taksonoomia nimega "Tootekategooriad", mida kasutatakse ainult kohandatud tüübiga "Tooted" postituste jaoks.</p> <p>Kohandatud taksonoomia loomise protsess on peaaegu identne kohandatud postitustüüpide loomisega. Vaatame meie näidet:</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br></p> </td><td><p>funktsioon minu_taksonoomiad_toode() ( <br>$sildid = massiiv ( <br>"nimi" => _x( <span>"Tootekategooriad"</span>, "taksonoomia üldnimi") , <br>"ainsuse_nimi" => _x( <span>"Tootekategooria"</span>, "taksonoomia ainsuse nimi") , <br>"otsingu_üksused" => __( <span>"Leia tootekategooria"</span> ) , <br>"kõik_üksused" => __( <span>"Kõik tootekategooriad"</span> ) , <br>"parent_item" => __( <span>"Ematootekategooria"</span> ) , <br>"parent_item_colon" => __( <span>"Ematootekategooria:"</span> ) , <br>"edit_item" => __( <span>"Muuda tootekategooriat"</span> ) , <br>"update_item" => __( <span>"Värskenda tootekategooriat"</span> ) , <br>"add_new_item" => __( <span>"Lisa uus tootekategooria"</span> ) , <br>"uue_üksuse_nimi" => __( <span>"Uus tootekategooria"</span> ) , <br>"menüü_nimi" => __( <span>"Tootekategooriad"</span> ) , <br>) ; <br>$args = massiiv ( <br>"labels" => $labels , <br>"hierarhiline" => tõsi , <br>) ; <br>register_taksonoomia( "toote_kategooria" , "toode" , $args ) ; <br>} <br>add_action( "init" , "minu_taksonoomiate_toode" , 0 ) ;</p> </td> </tr></tbody></table><p>Nagu kohandatud tüübi loomisel, moodustasime siltide massiivi ja viitasime sellele, et loodud taksonoomia jaoks on asjakohane hierarhiline struktuur (st võib olla nii ema- kui ka alamelemente) – see on tüüpiline tavapostituste kategooriate puhul. Vastasel juhul, kui struktuur pole hierarhiline, luuakse tavalised sildid. Lisateavet taksonoomia kohta saate lugeda.</p><p><img src='https://i2.wp.com/xozblog.ru/wp-content/uploads/2012/11/custom-post-types-4.png' align="center" width="100%" loading=lazy loading=lazy><br></p> <h3>Täiendavad andmepiirkonnad</h3> <p>Postituse redigeerimise lehel võite näha täiendavaid alasid või plokke andmete sisestamiseks (metakastid). Kõik teavad standardseid, näiteks kategooria või siltide valimist. Ka mõnes teemas on valikud, mis võimaldavad postitusele pildi lisada vms.</p> <p>Kuna loome kohandatud tüüpi "Tooted", siis ilmselgelt vajame toote hinda, vaatame kohandatud toodete loomise protsessi.</p> <p>Loomisprotsessi võib jagada kolmeks etapiks:</p> <ul><li>Ploki enda määratlus;</li> <li>sisu määratlemine (millised väljad plokis on);</li> <li>Sisestatud andmete töötlemise algoritmide kirjeldus.</li> </ul><h4>Metakastide definitsioon</h4> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br></p> </td><td><p>add_action( "add_meta_boxes" , "product_price_box" ) ; <br>funktsioon product_price_box() ( <br>add_meta_box( <br>"product_price_box" , <br>__("Toote hind" , "myplugin_textdomain") , <br>"product_price_box_content" , <br>"toode" <br>"külg" <br>"kõrge" <br>) ; <br>} </p> </td> </tr></tbody></table><p>Ülaltoodud kood loob ploki järgmiste parameetritega:</p> <ul><li><b>toote_hinna_kast</b>— metakasti kordumatu tunnus (see ei pea ühtima funktsiooni nimega);</li> <li><b>Toote hind</b>— metakasti nimi, mida administraator lehel näeb;</li> <li><b>toote_hinna_kasti_sisu</b>— funktsioon, mis kuvab akna sisu;</li> <li><b>toode</b>— kohandatud postituse tüübi nimi, mille juurde metakastid kuuluvad;</li> <li><b>pool</b>— ploki asukoht lehel (külg, tavaline või edasijõudnu – vaikimisi);</li> <li><b>kõrge</b>— metakastide prioriteetsus (antud juhul “kõrge”, plokk asub päris külgriba ülaosas. Valikud: kõrge, põhi, madal või vaikimisi – vaikimisi).</li> </ul><h4>Sisu määratlus</h4> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br></p> </td><td><p>funktsioon product_price_box_content( $post ) ( <br>wp_nonce_field( plugin_basename( __FILE__ ) , ) ; <br>kaja <span>"<label for="product_price"></label>" </span>; <br>kaja <span>"<input type="text" id="product_price" name="product_price" placeholder="sisesta hind">" </span>; <br>} </p> </td> </tr></tbody></table><p>Toote hinna sisestamiseks lisame vaid ühe välja. Pange tähele, et funktsiooni nimi vastab deklareerimisel kolmanda parameetri väärtusele (ülaltoodud kood).</p> <h4>Sisestatud andmete töötlemine</h4> <p>Viimase sammuna salvestatakse sisestatud toote hind andmebaasi.</p> <table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br></p> </td><td><p>add_action( "save_post" , "product_price_box_save" ) ; <br>funktsioon product_price_box_save( $post_id ) (</p><p>if (defined("DOING_AUTOSAVE") && DOING_AUTOSAVE) <br>tagasi ;</p><p>if ( ! wp_verify_nonce( $_POST [ <span>"product_price_box_content_nonce"</span>] , plugina_basenimi( __FILE__ ) ) <br>tagasi ;</p><p>if ( "leht" == $_POST [ "postituse_tüüp" ] ) ( <br>if ( ! current_user_can( "redigeeri_lehte" , $postituse_id ) ) <br>tagasi ; <br>) muidu ( <br>if ( ! current_user_can( "edit_post" , $post_id ) ) <br>tagasi ; <br>} <br>$toote_hind = $_POST [ "toote_hind" ] ; <br>update_post_meta( $postituse_id , "toote_hind" , $toote_hind ) ; <br>} </p> </td> </tr></tbody></table><p>Suurem osa funktsioonidest on kontrollid. Kõigepealt kontrollitakse automaatset salvestamist, hinda ei salvestata enne, kui vajutatakse salvestamise või värskendamise nuppu. Seejärel kontrollitakse selle postituse andmete muutmise juurdepääsuõigusi ja alles pärast seda, kasutades funktsiooni update_post_meta, sisestatakse hind andmebaasi.</p> <h3>Loodud tüüpi postituste kuvamine blogis</h3> <p>Oleme läbinud kohandatud postituse tüübi loomise kõik etapid, jääb üle vaid ära kasutada oma töö vilju ja luua blogis postituste kuva vastavalt meie kehtestatud taksonoomiale.</p> <p>Kuna kohandatud tüübi loomisel määrasime parameetri has_archive jaoks tõeseks, on tootetüübi kirjete loend saadaval aadressil http://mysite.com/product/ .</p> <p>Kuvamiseks kasutatakse faili arhiiv-.php (meie puhul archive-product.php), kui see on olemas. Vastasel juhul kasutatakse kuvamiseks faili archive.php ja kui sellist faili teemas pole, kasutab see ) <br>) ; <br>$tooted = new WP_Query( $args ) ; <br>if ( $products -> have_posts () ) ( <br>while ( $products -> have_posts () ) ( <br>$tooted -> the_post () ; <br>?> <br>< h1> <?php the_title() ?> </ h1> <br>< div class = "content" > <br><?php the_content() ?> <br></ div> <br><?php <br>} <br>} <br>muu ( <br>kaja <span>"Oh ei, süüa ei leitud!"</span>; <br>} <br>?> </p> <h4>Hinnanäidik</h4> <p>Sisestatud lisaandmed, meie puhul toote hind, saab kätte funktsiooni get_post_meta() abil. Kuna kasutame lisaks välja product_price, siis hinna väärtuse saamiseks:</p> <h3>Plugin kohandatud postitustüüpide loomiseks</h3> <p>Kui te pole oma programmeerimisvõimetes kindel, võite alati leida valmislahenduse (plugina) ja seda kasutada. Kohandatud tüübid pole erand. Sisse panema <b>WCK kohandatud postituse tüübi looja</b> võimaldab hõlpsasti luua WordPressi jaoks kohandatud postitustüüpe ilma kodeerimisteadmisteta.</p> <p>Vaikekategooriaid kasutatakse ainult postituste jaoks. Mõne stsenaariumi korral võite siiski soovida neid kasutada kohandatud postituse tüübiga. Selles artiklis räägime teile, kuidas seda teha.</p> <h4>Plugina meetod</h4> <p>Algajatele kasutajatele soovitame kohandatud postituse tüübi loomiseks kasutada kohandatud postituse tüübi kasutajaliidese pistikprogrammi. Seda pistikprogrammi kasutades saate siduda kohandatud postituse tüübi mis tahes sisseehitatud või kohandatud taksonoomiaga, sealhulgas kategooriatega. Pärast pistikprogrammi installimist avage CPT kasutajaliides » Lisa/redigeeri postituse tüüpe, et luua uus kohandatud postitustüüp või muuta olemasolevat.</p> <p>Kerige alla jaotiseni Täpsemad suvandid ja seal näete valikut Sisseehitatud maksud. Märkige ruut kategooriate kõrval ja salvestage postituse tüüp.</p> <p><img src='https://i0.wp.com/coma.lv/wp-content/uploads/2016/11/enablecategoriesforcpt.jpg' align="center" width="100%" loading=lazy loading=lazy></p> <h4>Kategooriate käsitsi lisamine kohandatud postituse tüübi jaoks</h4> <p>Kui lõite kohandatud postituse tüübi, lisades faili funktsioonis.php koodi, peate kategooria lisamiseks toetatud taksonoomiana seda koodi muutma. Kõik, mida pead tegema, on lisada see rida oma kohandatud postituse tüübi argumentidele:</p> <p><i>'taksonoomiad' => array('kategooria'),</i></p> <p>Võimalik, et teil on see rida juba mõne muu kohandatud taksonoomiaga koodis. Kui jah, siis peate lihtsalt selle järele lisama koma ja lisama kategooria:</p> <p><i>'taksonoomiad' => array('teemad', 'kategooria'),</i></p> <p>Siin on näide kogu koodist, kus lõime kohandatud postituse tüübi nimega "filmid", mis toetab kõiki sisseehitatud kategooriaid.</p><p>Funktsioon custom_post_type() ( // Määrake kohandatud postituse tüübi kasutajaliidese sildid $labels = array("name" => _x("Filmid", "Postituse tüübi üldnimi", "twentythirteen"), "ainsuse_nimi" => _x(" Film", "Postituse tüübi ainsusnimi", "kaksteistkolmteist"), "menüü_nimi" => __("Filmid", "kaksteistkolmteist"), "parent_item_colon" => __("Vanemfilm", "kaksteistkolmteist"), "all_items " => __("Kõik filmid", "kakskümmend kolmteist"), "view_item" => __("Vaata filmi", "twentythirteen"), "add_new_item" => __("Lisa uus film", "twentythirteen"), "add_new" => __("Lisa uus", "kakskümmend kolmteist"), "edit_item" => __("Muuda filmi", "twentythirteen"), "update_item" => __("Värskenda filmi", "kakskümmend kolmteist") , "search_items" => __("Otsi filmi", "twentythirteen"), "not_found" => __("Ei leitud", "twentythirteen"), "not_found_in_trash" => __("Ei leitud prügikastist", " twentythirteen"),); // Kohandatud postituse tüübi muude suvandite määramine $args = array("label" => __("filmid", "twentythirteen"), "description" => __("Filmiuudised ja ülevaated", "twentythirteen"), "labels" => $sildid, "toed" => array("pealkiri", "toimetaja", "väljavõte", "autor", "pisipilt", "kommentaarid", "revisjonid", "kohandatud" -fields",), "hierarchical" => false, "public" => true, "show_ui" => true, "show_in_menu" => true, "show_in_nav_menus" => true, "show_in_admin_bar" => true, "menu_position" " => 5, "can_export" => true, "has_archive" => true, "exclude_from_search" => false, "publicly_queryable" => true, "capability_type" => "page", // Siia lisame taksonoomiad meie CPT-le "taksonoomiad" => array("category"),); // Kohandatud postituse tüübi registreerimine register_post_type("movies", $args); ) /* Haakige toiminguga "init", nii et funktsiooni *, mis sisaldab meie postituse tüübi registreerimist, ei * tarbetult käivitataks. */ add_action("init", "custom_post_type", 0);</p><h4>Kategoorialehel mitut tüüpi postituste kuvamine</h4> <p>Vaikimisi kuvatakse WordPressi saidi kategoorialehtedel standardne postitustüüp. Kui soovite, et teie postituse tüüp ilmuks vaikepostitustega samal kategooria lehel, peate oma funktsioonide.php faili lisama järgmise koodi:</p><p>Add_filter("pre_get_posts", "query_post_type"); funktsioon query_post_type($query) ( if(on_category()) ( $postituse_tüüp = get_query_var("postituse_tüüp"); if($postituse_tüüp) $postituse_tüüp = $postituse_tüüp; else $post_type = array("nav_menu_item", "post", " filmid"); // ärge unustage nav_menu_item'i, et menüüd saaksid töötada! $query->set("post_type",$post_type); return $query; ) )</p><p>Ärge unustage muuta filmidele oma kohandatud postituse tüübi nime.</p> <p><i>Meie erialaks on WordPressi saitide arendamine ja tugi. Kontaktid tasuta konsultatsiooniks - ,</i></p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> <div class="clear"></div> </div> </article> <div class='yarpp-related'> <section id="related_posts"> <div class="block-head"> <span>Rohkem infot teema kohta</span> <div class="stripe-line"></div> </div> <div class="post-listing"> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/13b04c24847195c8e29b14f7fd30364c.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Kuidas järjestada numbreid Excelis kasvavas järjekorras" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/sortirovka-v-eksel-formuloi-kak-uporyadochit-chisla-po/">Kuidas järjestada numbreid Excelis kasvavas järjekorras</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/80702cbfda768f42900a47b285ad2e5b.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Võrk kahe arvuti või sülearvuti vahel Kuidas ühendada 2 arvutit üle kohtvõrgu" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/coedinenie-dvuh-kompyuterov-odnim-setevym-kabelem-set-mezhdu-dvumya/">Võrk kahe arvuti või sülearvuti vahel Kuidas ühendada 2 arvutit üle kohtvõrgu</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/47f2a8c0f4704776e2fe334f30014a48.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="IP telefoni teel. Mis on IP-telefon. Millist varustust vajate?" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/po-ip-telefonii-chto-takoe-ip-telefoniya-kakoe-oborudovanie-budet-nuzhno/">IP telefoni teel. Mis on IP-telefon. Millist varustust vajate?</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/926697fa2f9ccd2305811f31a0a9dbe8.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Mis on PowerPoint ja kuidas seda programmi kasutada?" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/kak-nauchitsya-delat-prezentaciyu-v-pover-point-chto-takoe-powerpoint-i-kak-ispolzovat-programmu/">Mis on PowerPoint ja kuidas seda programmi kasutada?</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/c1838841c9ac3b996979c34dcc51a06c.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Varundamine Androidis ja andmete taastamine Androidis" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/gde-iskat-rezervnuyu-kopiyu-na-android-rezervnoe-kopirovanie-na/">Varundamine Androidis ja andmete taastamine Androidis</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/7a8011ac4d7b9c2601dcf8aa0afba976.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Kuidas seadistada oma htc-telefonis Interneti-ühendust" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/et/kak-podklyuchit-skvoznoe-podklyuchenie-k-internetu-kak-nastroit/">Kuidas seadistada oma htc-telefonis Interneti-ühendust</a></div> </div> </section> </div> <div id="comments"> <ol class="commentlist"> <div class='rreekk' rel='15'> <div id="smartrotator_ad_4" onclick="yaCounter40492595.reachGoal ('tizercommentbefore1'); return true;"></div> </div> </ol> <div class="clear"></div> <div id="respond" class="comment-respond"> </div> </div> </div> <aside id="sidebar"> <div class="theiaStickySidebar"> <div class="execphpwidget"> <div id="text-4" class="widget widget_text"> <div class="widget-top"> <span>Kasulik</span> <div class="stripe-line"></div> </div> <div class="widget-container"> <div class="textwidget"> <style> .wpp-list li img { -webkit-border-radius: 65px; -moz-border-radius: 65px; border-radius: 65px; } .wpp-list li .post-views { display: block; margin-left: 70px; color: #828283; font-size: 12px; } .wpp-list li .post-views i { font-size: 13px; } .wpp-list li { line-height: 22px !important; } .replacemy { cursor: pointer; } } </style> <ul class="wpp-list"> <li> <div class="replacemy"><img src="/uploads/00697193abaae4c9be0bd262fe7023f0.jpg" width="65" height="65" title="Andmete salvestamine Mi Cloudi Mi pilve sisestamine salvestusruumi teie telefonist" alt="Andmete salvestamine Mi Cloudi Mi pilve sisestamine salvestusruumi teie telefonist" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/et/razbiraem-funkcii-servisa-mi-cloud-po-kostochkam-hranenie-dannyh-v-mi-cloud/" class=""><br>Andmete salvestamine Mi Cloudi Mi pilve sisestamine salvestusruumi teie telefonist</a></li> <li> <div class="replacemy"><img src="/uploads/2d185e70fa2f7a63bf22a6b2937a0b28.jpg" width="65" height="65" title="Püsivara installimine twrp-taaste kaudu" alt="Püsivara installimine twrp-taaste kaudu" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/et/pri-proshivke-vydaet-oshibku-7-ustanovka-proshivki-cherez-twrp/" class=""><br>Püsivara installimine twrp-taaste kaudu</a></li> <li> <div class="replacemy"><img src="/uploads/45f9d96ea73d881276f99303318d6179.jpg" width="65" height="65" title="Xiaomi alglaaduri avamine: mis see on ja kõik protseduuri nüansid Mi-telefoni avamine" alt="Xiaomi alglaaduri avamine: mis see on ja kõik protseduuri nüansid Mi-telefoni avamine" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/et/smartfony-xiaomi-razblokirovka-zagruzchika-razblokirovka-zagruzchika-xiaomi-chto/" class=""><br>Xiaomi alglaaduri avamine: mis see on ja kõik protseduuri nüansid Mi-telefoni avamine</a></li> <li> <div class="replacemy"><img src="/uploads/5b0f8e38c953bb32432d7cf01aedd5c0.jpg" width="65" height="65" title="Rakendus Xiaomi Mi Band fitness käevõru juhtimiseks" alt="Rakendus Xiaomi Mi Band fitness käevõru juhtimiseks" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/et/mi-band-2-instrukciya-po-primeneniyu-prilozhenie-dlya-upravleniya-fitnes/" class=""><br>Rakendus Xiaomi Mi Band fitness käevõru juhtimiseks</a></li> <li> <div class="replacemy"><img src="/uploads/e5694adcbc685a8c5384a76f746386aa.jpg" width="65" height="65" title="Metalliline tekstiefekt Photoshopis" alt="Metalliline tekstiefekt Photoshopis" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/et/risuem-metall-urok-fotoshop-metallicheskii-tekstovyi-effekt-v/" class=""><br>Metalliline tekstiefekt Photoshopis</a></li> </ul> </div> </div> </div> </div> </div> <div> </div> </aside> <div class="clear"></div> </div> <footer id="theme-footer"> <div id="footer-widget-area" class="wide-narrow-2c"><div id="footer-first" class="footer-widgets-box"><div id="text-2" class="footer-widget widget_text"><div class="footer-widget-top"></div><div class="footer-widget-container"><div class="textwidget"> <p>Kõik kaasaegse tehnoloogia kohta. Vead. Mängud. Jaotused. Tehnika. Internet <p></p> </div></div></div></div><div id="footer-second" class="footer-widgets-box"><div id="text-3" class="footer-widget widget_text"> <div class="footer-widget-top"></div> <div class="footer-widget-container"> <div class="textwidget"><a href="https://qzoreteam.ru/et/sitemap.xml">Saidi kaart</a></div> </div> </div><div id="text-7" class="footer-widget widget_text"><div class="footer-widget-top"></div><div class="footer-widget-container"><div class="textwidget"><br> <a href="https://qzoreteam.ru/et/feedback/">Tagasiside</a> </div></div></div></div></div><div class="clear"></div> </footer> <div class="clear"></div> <div class="footer-bottom"> <div class="container"> <div class="alignright"></div> <div class="alignleft">© Autoriõigus 2017, https://qzoreteam.ru</div> <div class="clear"></div> </div> </div> </div> </div> </div> <div id="topcontrol" class="fa fa-angle-up" title="Mine lehe ülaossa"></div> <div id="fb-root"></div> <script type="text/javascript"> jQuery(function($) { $(document).on("click", ".pseudo-link", function() { window.open($(this).data("uri")); }); }); </script> <script type='text/javascript'> /* */ var tocplus = { "smooth_scroll": "1", "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "310px" }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/wp-polls/polls-js.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript'> /* */ var tie = { "mobile_menu_active": "true", "mobile_menu_top": "", "lightbox_all": "", "lightbox_gallery": "", "woocommerce_lightbox": "", "lightbox_skin": "dark", "lightbox_thumb": "vertical", "lightbox_arrows": "true", "sticky_sidebar": "", "is_singular": "1", "SmothScroll": "true", "reading_indicator": "", "lang_no_results": "\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c", "lang_results_found": "\u041d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b" }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/themes/pochk/js/tie-scripts.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/themes/pochk/js/ilightbox.packed.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript'> /* */ var gglcptch_pre = { "messages": { "in_progress": "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Google reCAPTCHA.", "timeout": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c Google reCAPTCHA. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0412\u0430\u0448\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0441\u0435\u0442\u0438 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443." } }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/google-captcha/js/pre-api-script.js'></script> <script type='text/javascript' data-cfasync="false" async="async" defer="defer" src='https://www.google.com/recaptcha/api.js?onload=gglcptch_onload_callback&render=explicit'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/google-captcha/js/script.js'></script> <script type="text/javascript" src="https://qzoreteam.ru/wp-content/themes/pochk/my/my.js"></script> <script type="text/javascript" src="https://qzoreteam.ru/wp-content/themes/pochk/my/etimer.js"></script> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html>