Egyedi beviteli mezők az adminisztrációban – egyéni meta dobozok

Néhány napja ismét WordPress-rajongók-fejlesztők találkozót tartottunk Kassán . A Halmi caffe -ban találkoztunk, ezúttal is “Egyedi meta dobozok” témában.

Három módot vizsgáltunk meg saját beviteli mezők létrehozására a WP adminisztrációjában, és a beszélgetés során hozzáadtunk néhány saját tapasztalatot, típust és generátort. Kezdtük a klasszikus WordPress függvények használatával és leírással a dokumentációban, majd az Advanced Custom Fields és CMB2 pluginekre épülő bemutatókkal folytattuk. Néhány forráskód a cikk végén 😉

Ezek a beviteli mezők speciális értékekhez használhatók, amelyeket feldolgozni és megjeleníteni szeretnénk az oldalon, a cikkben, profilban, termékben stb.

A WordPress dokumentációja szerint

Lényegében a WordPress nagyszerű funkciókkal rendelkezik, amelyek lehetővé teszik számunkra, hogy ízlésünk szerint testreszabjuk. Az egyik az add_meta_box () , amellyel saját beviteli mezőt készítünk.

add_meta_box()

A megadott paraméterek szerint megadhatjuk, hogy a beviteli mező melyik bejegyzés szerkesztési részében legyen, és azt is, hogy milyen típusú bejegyzéshez használjuk (cikk, oldal, profil…). A függvény azonban csak egy mezőt hoz létre számunkra. Továbbra is meg kell mentenie az értékét minden alkalommal, amikor menti a bejegyzést, és be kell töltenie, amikor megpróbálja szerkeszteni. Az átfogó megoldás inspirált bennünket, amelyet a dokumentáció alatti megjegyzésekben találtunk.

Ennek a beviteli mezőnek az értéke az adatbázisban tárolódik a postmeta táblában (vagy usermeta stb., a bejegyzés típusától függően) a bejegyzés azonosítójával és a metakulccsal együtt (többféle érték megkülönböztetésére szolgál). egy bejegyzéshez).

Az érték további feldolgozásához vagy közvetlen megjelenítéséhez az oldalon ezt az értéket a get_post_meta () függvény segítségével lekérjük az adatbázisból.

get_post_meta()

Konkrétan például a következőképpen:

<?php echo get_post_meta( get_the_ID(), '_my_meta_value_key', true ); ?>

Oldalankénti mintaeredmény:

 

Az Advanced Custom Fields beépülő modul használata

Ennek a beépülő modulnak megvan az az előnye, hogy szó szerint lehet kattintani a beviteli mezőkre a felületén.

Advanced Custom Fields

További előnye a kiterjedt dokumentáció és hosszadalmas programozás nélkül létrehozhatunk beviteli mezőket a galériához, térképhez, dátumhoz és időhöz stb.

Az adatbázisban azonban egy kicsit eltúloz. Ha először meghatározza benne a beviteli mezőket, akkor elmenti azokat bejegyzésként (a hozzászólások táblázatában), majd az értékeket (például a beviteli mező helyzetét a szerkesztésben) a postsmeta -ban tárolja. Az oldalszerkesztések mentésekor egy beviteli mezőhöz még két sort mentett az adatbázisba. Amikor a revíziót automatikusan elmentették, még kettő volt.

Ekkor nem a klasszikus WP függvényt (get_post_meta) használjuk az érték megjelenítésére, hanem a plugin függvényt, például:

<?php the_field('acf1'); ?>

A dokumentáció szerint rövid kódot és megjelenítési értékeket is használhatunk a cikk szövegében.

A CMB2 bővítmény használata

Ennek a beépülő modulnak már nincsenek “kattintási” beállításai, mint azt megszokhattuk.

CMB2

Előre elkészített osztályokat és objektumokat tartalmaz, amelyek segítségével egyedi beviteli mezőket hozhatunk létre, amelyek jelentősen megkönnyítik a kódírást. Széleskörű dokumentációt találunk hozzá, és az ACF-hez hasonlóan megkönnyíti a mezők létrehozását a különböző típusú értékekhez (dátum, idő, szín stb.).

Szeretném felhívni a figyelmet arra a lehetőségre, hogy egy átjátszóval (csoporttal) kombinálva újabb szövegszerkesztőt adjunk hozzá, így meg tudjuk különböztetni az oldalon lévő szövegrészeket, később megváltoztatni a sorrendjüket és hasonlókat. Más ingyenesen elérhető bővítmények is elérhetők ehhez a bővítményhez.

Az értékeket egy sor segítségével tárolja az adatbázisban, és a klasszikus WP funkciót használja a feldolgozásukhoz (példa):

<?php echo get_post_meta( get_the_ID(), '_yourprefix_text', true ); ?>

Generátorok

 

Ez néhány a találkozón említett generátorok közül. Olyan kódot generálnak, amely az alapvető WP-funkciókkal működik, további bővítmények nélkül.

A találkozóhoz használt kódminta

A csomagok tartalma:

  • plugin, amelyben vannak példák a klasszikus WP funkciókra és a CMB2 használatára (a megfelelő működéshez aktivált CMB2 bővítmény szükséges)
    • csak aktiválja a bővítményt, és az új beviteli mezők megjelennek az oldal szerkesztésében
  • “teszt” téma, ami egy származtatott Twentyfifteen téma (a megfelelő működéshez telepíteni kell a Twentyfifteen témát)
    • oldalsablonokat tartalmaz kódokkal a tárolt értékek megjelenítéséhez

teszt-sablon.zip

functions-extensions.zip

 

 

WordPress Návod v PDF

LEAVE A REPLY

Please enter your comment!
Please enter your name here