Разумевање ВордПресс Цустом Мета Бок
У претходном посту, говорили смо о ВордПресс прилагођеном пољу, које вам омогућава да додате и унесете нови унос у пост помоћу поља Цустом Фиелд који ВордПресс пружа на екрану за пост едитинг. Ако вам се ипак не свиђа употреба оквира за прилагођено поље (сви имамо своје индивидуалне преференције), ево алтернативе: можете креирати мета кутију.
Мета кутија је а цустомизед бок које ми сами стварамо, што може садрже унос или други интерактивни кориснички интерфејс за додавање нових уноса постова или страница. Да бисте урадили исту ствар, можете користити мета оквир уместо поља Цустом Фиелд. Да видимо како да направимо.
Више на Хонгкиат.цом:
- Прилагодите директоријум за уплоад медија у програму ВордПресс
- Прилагодите стилове ВордПресс едитора
- Прилагоди “Ховди” У ВордПресс админ бару
- Региструјте прилагођену таксономију за ВордПресс кориснике
- Иконе приказа У ВордПресс менију
Креирање Мета Бок-а
ВордПресс обезбеђује АПИ функцију, која се зове адд_мета_бок
, што нам омогућава да одмах креирамо мета кутију. То је она у свом крајњем основном облику.
фунцтион адд_пост_референце () адд_мета_бок ('пост-референце', 'Референце', 'референцеЦаллБацк', 'пост'); адд_ацтион ('адд_мета_бокес', 'адд_пост_референце'); фунцтион референцеЦаллБацк () ецхо 'Хелло Ворлд'
Тхе адд_мета_бок
узима четири параметра: ИД, наслов мета бокса, функцију повратног позива која ће позвати 'Хелло Ворлд', и врсту поруке коју желимо да прикажемо. У овом случају додељујемо нови мета бокс на страници за уређивање поста (ово такође функционише са страницама).
У одељку пост едитинг, наћи ћете нови оквир, како слиједи.
Нова мета кутија, као што можете видети горе, појавила би се испод ВИСИВИГ едитора. Ако желите да га додате у бочну траку, можете додати 'сиде' иза параметра поста, и заједно са 'хигх' ако желите да га поставите на сам врх бочне траке.
фунцтион адд_пост_референце () адд_мета_бок ('пост-референце', 'Референце', 'референцеЦаллБацк', 'пост', 'сиде', 'хигх'); адд_ацтион ('адд_мета_бокес', 'адд_пост_референце');
Сада ћете га наћи изнад Објави кутија…
Сада замијените текст 'Хелло Ворлд'. Додајмо елементе попут поља за унос за нови унос.
У овом примеру, додаћемо два поља за унос који се састоје од једног за додавање Референтног имена и другог за Референтну везу:
фунцтион референцеЦаллБацк ($ пост) вп_нонце_фиелд ('референце_мета_бок', 'референце_нонце'); $ наме_валуе = гет_пост_мета ($ пост-> ИД, '_пост_референце_наме', труе); $ линк_валуе = гет_пост_мета ($ пост-> ИД, '_пост_референце_линк', труе); одјек ''; одјек ''; одјек ''. 'Додајте назив референце'. '
'; одјек ''; одјек ''; одјек ''. 'Додајте линк референце'. '
';
Освежите страницу за уређивање поста и требало би да додате ова два улаза.
Тхе $ наме_валуе
и $ линк_валуе
варијабла ће преузети уносе из базе података и попунити их у поља за унос. Да бисмо унели податке у базу података, мораћемо да креирамо функцију за то.
Морамо додати неколико редова кода који ће сигурно попунити уносе додане кроз ове уносе у базу података. “Безбедно” овде означава легитиман и овлашћен улазак (не онај који долази од хакера или другог неовлашћеног особља). Да бисте сачували унос, мораћемо да креирамо нову функцију. Назовите функцију: саве_пост_референце
, овако.
фунцтион саве_пост_референце ($ пост_ид) адд_ацтион ('саве_пост', 'саве_пост_референце');
Као што смо поменули, из безбедносних разлога морамо да потврдимо неколико ствари:
(1) Мораћемо да проверимо да ли је корисник има могућност уређивања поста.
иф (! цуррент_усер_цан ('едит_пост', $ пост_ид)) ретурн;
(2) И ми морамо Проверите да ли је Нонце подешен.
иф (! иссет ($ _ПОСТ ['референце_нонце'])) ретурн; иф (! вп_верифи_нонце ($ _ПОСТ ['референце_нонце'], 'референце_мета_бок')) ретурн;
(3) Затим морамо да спречимо аутоматско чување података. Спремање се може обавити само једном “сачувати” или “ажурирање” је притиснуто дугме.
иф (дефинисано ('ДОИНГ_АУТОСАВЕ') && ДОИНГ_АУТОСАВЕ) ретурн;
(4) Такође ћемо морати осигурати да наша два улаза, пост_референце_наме
и пост_референце_линк
, су постављене и спремне пре него што пошаљете уносе.
иф (! иссет ($ _ПОСТ ['пост_референце_наме']) ||! иссет ($ _ПОСТ ['пост_референце_линк'])) ретурн;
(5) И унос би требао бити слободан од било каквих неочекиваних знакова који могу угрозити сигурност веб-локације. Да бисте ово проверили, можете да користите уграђену ВордПресс функцију санитизе_тект_фиелд
.
$ референце_наме = санитизе_тект_фиелд ($ _ПОСТ ['пост_референце_наме']); $ референце_линк = санитизе_тект_фиелд ($ _ПОСТ ['пост_референце_линк']);
У реду, сада смо спремни да сачувамо уносе у базу података:
упдате_пост_мета ($ пост_ид, '_пост_референце_наме', $ референце_наме); упдате_пост_мета ($ пост_ид, '_пост_референце_линк', $ референце_линк);
Сада га можете испробати: унесите неки садржај у поља за унос и кликните на “ажурирање” да бисте их сачували.
Закључак
Управо смо направили мета кутију која се састоји од два улаза. Можете додатно проширити кутију са другим типовима улаза као што је радио дугме или оквир за избор. Овај пример може бити веома једноставан, али када га добијете, моћи ћете да користите ову мета кутију за много компликованије употребе. Јавите нам ако ћете користити ово и за шта ћете га користити.