Hogyan hozzunk létre egy blokk tetszőleges mezőket (METABOX) wordpress admin

Ahhoz, hogy egy ilyen egység példány taxonómiákat lásd az esemény leírása: taxonómia-_edit_form_fields. Lásd még a választ arra a kérdésre: Metafields a fejezetek (taxonómiákat) WordPress

A részt odnaya

Mielőtt elkezd beszélni, hogyan lehet létrehozni egy tetszőleges adatblokkot az admin felületen szerkesztheti a blog oldalon. amely kezeli az említett önkényes mezők, meg kell jegyezni, hogy a WordPress - a platform, amely talán jobban, mint bármely más alkalmas arra, hogy terjeszkedés a legkisebb erőfeszítéssel. Különösen ez az, amiért egy WordPress plugin írva annyira - minden nagyon egyszerű, csak meg kell tudni az alapokat a PHP és megérteni a rendszer működését.

Mindenki, aki elég közel van megismerni WordPress többször találkozott a „custom fields”, és használja őket, hogy megoldja néhány nem triviális feladat.

Egyéni mezők WordPress - egy nagyon hasznos eszköz, ha kell „bot”, hogy egy adott üzenet minden további információt. Ezeket az adatokat bármi lehet, kezdve a logikai igaz / hamis (1/0), befejezve a háromdimenziós textília és más tömbök. Például, mi is létrehozhatunk egy új egyéni mező Cím és annak jelentését, hogy írjon egy szöveget (alternatív postai cím), akkor a sablon kódját az alábbi kódot a szövegben:

Meg kell jegyezni, hogy a get_post_meta () függvény is használható kívül a WordPress ciklus, azaz bárhol a mintát. Ebben a példában használjuk fel a a dokumentum egyes részei, hogy html oldal fejlécében eltér a fejlécben a cikk maga (néha hasznos SEO).

Hogyan hozzunk létre egy blokk tetszőleges mezőket (METABOX) wordpress admin

Egy másik példa a használó egyéni mezőket tudjuk végezni, vagy nem végez egy műveletet, attól függően, hogy milyen adatokat tárolunk az értéke bármely területén. Például, forgalomba bármely területén logikai szám 1 és 0, akkor megjelenítése ki- semmilyen információt ezen a poszton.

Az egyéni mezőket használnak WordPress elég gyakran, különböző beépülő értékelési pozíció (WP-PostRatings), SEO plugin (Platinum SEO Pack), amely lehetővé teszi, hogy meghatározza a cím, leírás, kulcsszavak bejegyzést én plugin bélyegkép (Kama Thumbnail) és sok más bővítmények. Képletesen szólva, minden negyedik feladat megoldható egy nem szabványos egyedi mezők, így ha még nem tudja, hogyan kell használni őket, akkor olvassa el ezt a kézikönyvet. És az alábbiakban fogunk beszélni, hogyan lehet létrehozni egy külön egység a kívánt tetszőleges mezőket, és hogyan kell csinálni anélkül dugó.

Kevesen tudják, hogy ha létrehoz egy egyéni mező, amely egy kulcs (név) kezdődik _ (aláhúzás), például _my_special_key. akkor az ilyen területen nem jelenik meg a legördülő listában az egyedi mezők bejegyzések szerkesztésekor és figyelembe kell venni a „hazai” önkényes mező, amely a rendszer. Készítsen egy olyan területre, akkor csak lekérdezi az adatbázist, például a add_post_meta () vagy update_post_meta ().

Létrehozásának megkezdése előtt

Tegyük fel, hogy mi a helyszínen rendelni, és így tetszőleges mezőket használják az oldalon. Magyarázza el az ügyfélnek, hogy milyen területen lehet választani a listából, hogy bármilyen információval feltölteni kívánt probléma, ráadásul gyorsan feledésbe merült. Ezért sokáig, hogy írjon egy plugin, ami segítségével könnyen létrehozhat egy blokk tetszőleges mezők, ahol nem kell választani a pályát (kulcs), majd adja meg az értéket. Az ilyen egységek azonnal meg egy értéket, és ez lehet leírni minden területen, egy pillantással világossá válik, hogy a célját. Block, amelyet most létre fog kinézni:

Hogyan hozzunk létre egy blokk tetszőleges mezőket (METABOX) wordpress admin

És az adatokat a blokk maguk önkényes területeken, a mentés után a poszt, rögzítésre kerül az alábbiak szerint:

Hogyan hozzunk létre egy blokk tetszőleges mezőket (METABOX) wordpress admin

Mit látunk? - Felesleges kíváncsiskodó szemek tetszőleges mezőket kulcsok (ebből már említettük), amely ráadásul, akkor is meg kell választani a legördülő listából (előfordulhat, hogy nincs 4, és még sok más.): Description. robotmeta. kiválasztani és címét. Persze, hogy hozzon létre egy meta-blokk egyéni mezők - egy nagy ötlet.

Hozzon létre egyéni mezők meta blokk

Létrehozásához metabloka akkor kell csak 2 kampó: add_meta_boxes és save_post. funkció add_meta_box (), és némi tudást a HTML és PHP. Adjuk hozzá a következő kódot a témafájlt functions.php:

# 1. Hozzon létre egy új meta doboz utáni

Mi ezt a „Kiegészítő mezők”:

# 2. Töltsük ezt a dobozt html mezők.

Minden mezőnevek azt tervezték extra [] tömb. úgy, hogy később könnyebb volt feldolgozni az adatokat.

Rejtett mező name = "extra_fields_nonce". ellenőriznie kell, hogy ha az adatok mentése.

Ebben a szakaszban már létrehozott egy blokk tetszőleges mezőket, most kell feldolgozni az adatmezőket, miközben a post. Fogantyú, majd írjuk őket az adatbázisba, vagy törölni onnan. Ehhez használja a horog save_post. amely bekapcsol, amikor elment egy bejegyzést. Ezen a ponton, megkapjuk az adatokat egy sor extra [] és feldolgozni őket:

Ez minden, a készülék készen áll, hogy az egyedi mezők!

Most mi változik a html kódot, hogy tudjuk szerkeszteni a tartalmát a meta blokk. De ne felejtsük el, hogy a mező nevek formájában egy sor kulcsfontosságú értékek tetszőleges mezőket: name = „extra [meta_key]”.

Minden kód teljesen

Blokk egyéni mezők minden rekord típus

Ha azt szeretnénk, hogy hozzon létre egy blokkot a más típusú feljegyzések, például oldalon (oldalakon), majd regisztrálja másik meta blokk és írják fel azt a HTML kódot az új funkciók, amelyek szintén szükséges meghatározni regisztráló egység (extra_fields_box_page_func). Fields feldolgozási funkció megtartása mellett a poszt létrehozására már nem szükséges, a lényeg, hogy adja meg a mezőnevek formájában tömbök extra []:

A komplexitás a típus négyzetet

A hátránya ennek a módszernek, hogy egy sor extra []. Ezt meg kell adnunk, akkor is, ha átmegy a null érték egyébként a mező nem lehet feldolgozni, ha az adatok mentése. Ebben a tekintetben a probléma merül fel, ha a típus négyzetet.

Kerülő „betegség” Így tettem: létrehozni egy rejtett mező jelölőnégyzetet mező neve, mint a négyzetet, és üres értéket. És kiderül, ha a négyzet be van jelölve, az érték a rejtett mező megszakad, ha jackdaws nem vett üres értéket a rejtett mező.

Ie négyzetet kell hívni, mint ez:

Ugyanezt a trükköt néha hasznos lehet a helyszínen a fajta rádió.

Egy példa a fajta igazi kódot négyzetet:

Egyszerűen beállítható készülék egyedi mezőket létrehozni oly módon, határozottan elvesztették, és nem vagyok semmilyen módon nem akarja azt mondani, hogy hozzon létre blokkok, oly módon, jobb, mint a dugó. Ez a megközelítés azonban sokkal rugalmasabb, mert mi is létrehozhatunk abszolút minden területen, és gondoskodik azok ahogy tetszik.

Ezen kívül általában nincs szükség, hogy hozzon létre több ilyen blokkok és gyakran szerkeszteni őket, mivel ez megtehető a plug-inek. Például ebben a blogban, azt használja ezt a megközelítést, és egy nagyon kis kódot functions.php megment attól, hogy használjon egy másik plugin.

Dugó, hogy egyéni mezők blokkok

Ebben a cikkben beszéltem plug-inek, amelyek létre meta blokkok helyett egyéni mezőket, de soha nem tett említést. kijavítja:

Részletes Custom Fields (ACF) - talán a legnépszerűbb és rugalmas bővítmény létrehozása egyéni mezők. A jó dokumentáció.

Egyedi mező Suite - hasonlóan az ACF csak kevésbé díszes.

Egyedi mező sablon - egy igazi processzor. Ezzel lehet létrehozni bármilyen formában, bármilyen típusú bejegyzést, adja meg a formák egyes bejegyzések és oszlopok. Azt hiszem, a legtöbb esetben meg lehet tenni anélkül, hogy egy ilyen kombájn.

  • kc-beállítások - a hurrikán helyett egy plug-in, bár nem híve a plug-inek, de azt ajánlom.
  • <





    ?php include ($ _SERVER [ "DOCUMENT_ROOT"] "/ vstavki / blokvtext2.html".); ?>

    ❮ Dynamic blogarchívumban jQuery (Ajax)




    Kapcsolódó cikkek