ПредишенСледващото

Тема персонализиране на WordPress Guide цялостна програмиста

Този урок ще ви кажа в подробности за вашата тема в WordPress приставка Тема Customizer (наричан тунера).

Регулатора е обявена в WordPress версия 3.4. Тя позволява на администратора да промени обстановката да се опита Тема преди да се приложат, до работната площадка. В този урок ще разгледаме как да добавим тази функция с темата.

Забележка: Има няколко начина за свързване на настройките на тунера и спести измененията. Това ръководство ще направи преглед на метод theme_mod. Ако не знаете какво означава това, това няма значение. Не е нужно да се разбере целта на различните методи, ако се придържате към това ръководство.

1. Добавяне на страницата за персонализиране тема в менюто за администраторския панел.

Първо, отворете файла functions.php темата и добавете следния код. Това не е от решаващо значение, къде точно във файла ще постави кода, докато тя е вътре в друга функция.

Това гарантира, че потребителят има необходимите права за достъп до тунера.
(За повече информация относно WordPress потребители [предложение екскурзии -. Прибл Транс].

Забележка: Ако се създаде тема за обществено ползване, за параметрите $ PAGE_TITLE и $ menu_title следва да бъдат възможни, за да ги преведат на други езици. За повече информация за локализация може да бъде намерена на I18n за страницата правила локализация WordPress.

Сега, ако се върнем към администраторския панел на WordPress, меню «Външен вид» ще бъде на разположение на нова страница, озаглавена «Customize». Кликвайки «Облик> Customize», ние ще се отвори нова страница на тунера, който току-що създадохте. Панелът от лявата страна на екрана storoy ние откриваме, че има вече показва раздел четири настройки. "Заглавието на сайта и на потока тагове", като "Static Начало» добавя към тунера автоматично. Участъци от "Цветове" и "Wallpaper" добавят, защото тази тема се поддържа опция фоново изображение обичай, вградени в ядрото WordPress. В следващата глава ще добавим разполага със собствена секция.

2. Създава се нов раздел в тунера

За да създадете свой собствен раздел конфигурация, поставете следния код във файла functions.php веднъж за кода, който току-що добавената по-рано (отново, мястото е до голяма степен без значение, просто удобно да поставите кода в една подредена последователност).

Не е задължително. В зависимост от това дали темата подкрепя конкретна функция на раздел се извежда или скрива

В нашия пример по-горе, ние не използваме допълнителни аргументи «способност» или «theme_supports«. Въпреки това, по избор аргументи «описание» са били използвани и «приоритет» в. така че можете да получите представа за това как те работят. Продължете и променят своите стойности, за да се разбере тяхната работа. В следващата глава, ние ще създадем възможност за новия участък.

3. Добавете нова опция

3.1. регистрирате опция

Опции тук чрез (метод add_setting). Ние го постави веднага след add_setting на повикване () и точно преди затварянето скоби example_customizer (функция).

Не е задължително. Името на функцията, която ще се нарича да се провери и да коригира данните от базата данни в инструмента за персонализиране. По подразбиране: празен низ.

Вероятно сте забелязали, че «подразбиране» ние ще използваме по-горе код само аргумент. Повечето от другите аргументи са разумни по подразбиране, така че ние няма да се налага да се притеснявате и да ги добавите към нашия метод предизвикателство add_setting (). Някои аргументи заслужават по-голямо внимание към тях, тъй като ние не отиде по-далеч.

На първо място, аргумент «sanitize_callback» се използва за проверка на въведените данни, преди да ги съхранява в база данни. За по-голяма простота Все още не съм мобилизирана аргумента, но това ще се върнете към него по-късно в това ръководство. Аз вярвам, че проверката и коригирането на данните често се пренебрегва и аз искам да го оправя.

На второ място, «sanitize_js_callback» може да не е това, което може да се очаква. Обикновено това се извършва при проверка и корекция на данните, когато нещо не е наред с данните, въведени от потребителя, преди да се съхраняват в база данни. Въпреки това, функция «sanitize_js_callback» се нарича да се провери и коригира данните, които вече се съхраняват в базата данни в момента на предаването им на тунера. Единственият случай, в който, по мое мнение, обосновано на призива на тази функция - да се добави "#" в началото на брой шестнадесетичен, когато тя се съхранява в база данни, без това марка.

Е, това, което сме били, да зададете опциите на нашия контрол.

3.2 Създаване на контрол

контрол е просто интерфейс, който се използва за промяна на стойностите на опциите. Всеки вариант е да се контролът да се показва в инструмента за персонализиране. Контролът се добавя чрез използването на метод add_control (). Както и при предишните методи, отнема два параметъра. Първо - това е идентификатор (ID) на контрола. Стойността трябва да бъде равна на опцията стойност ID, където управляващ елемент принадлежи. Тъй като нашата опция горе имаше ID «текстово поле», контролът трябва да има «виждаш». Както и преди, втората опция - това е набор от аргументи. Ние организираме нашия метод предизвикателство add_control () веднага след add_setting () извикване на функция и точно преди example_customizer на затваряща скоба (функция).

Ако е «задвижвани от» стойността е бил съхраняван в мазето на дисплея "Този сайт работи благодарение на WordPress». Въпреки това, ако стойността е запазена, «WordPress» се заменя със забавна опция от списъка.

6. Проверка и коригиране на данните

Споменах по-горе, че за простота не бих просто от самото начало да се втурне в такава сложна тема, както за проверка на данни. Въпреки това, аз не искам да ви оставя с впечатлението, че аз не го докосва, защото това е без значение. О, така ли било, аз се подчертае цялата глава на това ръководство. Така че, да, аз вярвам, че това е много важно. Въпреки това, аз няма да се изкачи във всички детайли и причините, защо е толкова важно, или да се описват последиците от провала на този тест. Ще кажа само това: никога не се доверявайте въведени от потребителя данни!

6.01 въвеждане на текст: Проверете

Още веднъж, WordPress автоматично ограничава типовете файлове, които могат да бъдат изтеглени, но натоварването в този случай не се ограничава само до снимки. Можете да създадете функция за проверка, за да се зареди само изображения. Но тъй като това е ръководството за тунера, а не за проверка и коригиране на данните, ще оставя тази тема неразкрита.

8. Създаване на персонализирани контроли

Така че, ние сме каза на всички вградените контроли WordPress, както и че ако искаме да създадем допълнителни елементи? Ото написал отлична статия за създаване на потребителски контроли, така че този раздел ще се основава на това.

Може би сте забелязали, че по-рано от типа на полето за въвеждане на текст (текстово поле) не е включена в WordPress вграждани в апаратите. Тук ще създадете потребителски контрол за вида работа textareas входни в инструмент за персонализиране.

За да създадете свой собствен контрол, ние трябва да се разшири WP_Customize_Control клас и замени render_content (функция), за да се покаже новата ни контрол. Ако сте запознати с обектно-ориентиран език PHP, той ще бъде ясно за вас, ако не - нищо, просто ме последва. Няма да е много трудно.

Пускаме клас в example_customizer (функция). ние създадохме в началото на това ръководство. Тази функция ще се използва, за да персонализирате и да добавите всички опциите в инструмента за персонализиране. Към този клас е работил както трябва, тя трябва да бъде определена в рамките на тази функция:

  1. Променена предишната стойност на ID «цвят-настройка» на «шрифт цвят» в трите места, където то се среща.
  2. Промениха цвета по подразбиране.
  3. Те промениха името.
  4. И най-накрая, за да се промени «цветове» раздел на имота за опция се добавя към съществуващите «цветове" раздел.

Ние вече казах как да се използват възможностите, съхранявани в нишката, така че прилагането на процедурата за спестяване на цвета на шрифта на темата, оставям на вас като домашна работа.

Връщаме се параметър «транспорт» и значението му «postMessage«, което говорихме малко в глава 3. Нека добавим нова опция за промяна на цвета на фона на зоната за съдържанието на началната страница. На първо място, ние ще добавим още един цвят по избор на «цветове" секция на тунера:

11. Използване на AJAX към предварително зададените опции

Какво става, ако искаме да променим параметъра транспорт в вградените възможности? Такава възможност, също. За да онагледим това, да се промени (името на сайта) вградената опция «Заглавие на сайта», така че тя бе дадена на тунера, като използвате «postMessage«, а не както обикновено, «опресняване«. Първо, ние да добавите следния ред към основната функция example_customizer (). създали по-рано:

Възможни грешки в инструмент за персонализиране, което е във вашия шаблон, за съжаление за по-точен отговор имате нужда от повече информация.
Js грешка там (можете да видите в конзолата)?

Свързани статии

Подкрепете проекта - споделете линка, благодаря!