Кликните на дугме

Писање плугин за ВордПресс. Да бисте креирали подешавања странице плугин (парт 4)

Садржај курса за креирање плугин за ВордПресс

Схов Табле оф Цонтентс »

  1. Увод, опште информације (написати плугин за ВордПресс 1. део..)
  2. Општа теорија (написати плугин за УордПресс 2 део..)
  3. Припрема за креирање подешавања странице (написати плугин за ВордПресс Део 3..)
  4. Да бисте креирали подешавања странице плугин (написати плугин за УордПресс 4. део..)
  5. Функционална компонента (написати плугин за ВордПресс 5. део..)
  6. Интернационализација и Руссифицатион (написати плугин за ВордПресс 6. део..)
  7. Додавање на ВордПресс.орг спремиште (написати плугин за ВордПресс Део 7..)
  8. Изворни код фајл за УордПресс Плугин

Направи страницу подешавања за УордПресс Плугин

Настављамо разговор о томе како написати плугин за ВордПресс.
У последње време смо разговарали пре конфигурише УордПресс плоу, а сада покушавају да пишу на административној страни. За почетак ће дати могућност да креирате страницу, а затим се фокусирају на неким тачкама у детаље. У принципу, основни подаци дат у претходном делу туторијала, овде је сасвим једноставан код са коментарима.

Функција за креирање страницу подешавања за ВордПресс плугин


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
миплугин_оптионс_паге функција () {/ / Функција за креирање и обраду плуг-ин страницу подешавања
Глобал $ впдб, $ миплугин_префс_табле;
$ Миплугин_оптионс = арраи (/ / Цреате ан низ додатак у подешавањима
'Миплуг_модифи_титле',
'Миплуг_модифи_цонтент',
);
Цмд = $ $ _ПОСТ ['цмд']; / / Процес упутство за улаз
фореацх ($ $ миплугин_оптионс као миплугин_опт) {
$ $ Миплугин_опт = гет_оптион ($ миплугин_опт);
}
иф ($ цмд == "дел_префс") {/ / Ако притиснете тастер "делете фразу" - чишћење подешавања табеле, плуг-ин
$ Скл = "трунцате ТАБЕЛА $ миплугин_префс_табле";
$ Впдб-> куери ($ куери);
>?
__ ( 'All phrases are removed from the database' , 'example_plugin' ) ; ?> </strong></p></div> /* Сообщаем пользвателю об успешной очистке. <див цласс="упдатед"> <п> <ецхо __ ('Све фразе су уклоњени из базе', 'екампле_плугин');?> </ стронг> </ п> </ див> / * Ми пријавите успешно лечење ползвателиу. * /
<Пхп?
}
$cmd == "add_prefs" && $_POST [ 'prefs_base' ] ) { //Если введены новые фразы в соотв. иф ($ цмд == "адд_префс" && $ _ПОСТ ['префс_басе']) {/ / Ако је нова фраза ушао у АЦЦ. поље - да ли ће их обрадити
explode ( " \n " , $_POST [ 'prefs_base' ] ) ; //Ввод разбивается на строки и кладётся в массив, разделитель - перевод строки Линије РСД = екплоде ("\ н", $ _ПОСТ ['префс_басе']); / / улаз је подељен на редове и стави у низа, сепаратор - линије
$lines as $line ) { //Перебираем массив со строками фореацх ($ линија као $ линија) {/ / итерацију кроз низ стрингова
trim ( $line ) ; //Обрезка каждой строки от переводов $ Лине = трим ($ линија); / / Трим сваку линију трансфера
! $line ) continue ; //Если строка отстутствует - переходим к следующей итерации иф ($ линија!) цонтинуе; / / Ако ред Од датума - идите на следећу итерацију
$title , $body ) = explode ( "|" , $line ) ; //Разделение строки на две подстроки листа ($ наслов, $ тело) = екплоде ("|", $ лине); / / Подела стринг у два подниски
/ / Ставите субстринг у табели плугин.
"INSERT INTO $myplugin_prefs_table (title, body) VALUES(' $title ',' $body ')" ; $ Скл = "ИНСЕРТ ИНТО долара миплугин_префс_табле (наслов, тело) ВАЛУЕС ('$ наслов', '$ тело')";
query ( $sql ) ; $ Впдб -> куери ($ куери);
}
>?
__ ( 'Phrases added to the database' , 'example_plugin' ) ; ?> </strong></p></div> /*Сообщаем пользователю об успешной обработке*/ <див цласс="упдатед"> <п> <ецхо __ ('Фразе додаје у базу', 'екампле_плугин');?> </ стронг> </ п> </ див> / * Ми пријавити корисник о успешном руковању * /
<Пхп?
}
$cmd == "myplugin_save_opt" ) { //Обработка нажатия "Сохранить настройки" иф ($ цмд == "миплугин_саве_опт") {/ / Обрада кликом на "Саве Сеттингс"
$myplugin_options as $myplugin_opt ) { //Перебор массива с настройками фореацх ($ $ миплугин_оптионс као миплугин_опт) {/ / прелазили конфигурацију низа
$_POST [ $myplugin_opt ] ; //Каждому элементу массива присваиваем введённое пользователем занчение $ $ Миплугин_опт = $ _ПОСТ [$ миплугин_опт]; / / доделите сваки елемент низа унет од стране корисника занцхение
}

$myplugin_options as $myplugin_opt ) { //Обновляем настройки плагина в таблице настроек wordpress фореацх ($ $ миплугин_оптионс као миплугин_опт) {/ / ажурирај подешавања плугин у табели подешавања вордпресс
, $$myplugin_opt ) ; упдате_оптион (миплугин_опт $, $ $ миплугин_опт);
}
>?
__ ( 'Settings saved' , 'example_plugin' ) ; ?> </strong></p></div> <див цласс="упдатед"> <п> <ецхо __ ('Подешавања су сачувана "," екампле_плугин');?> </ стронг> </ п> </ див>
<Пхп?
}
>?
<див цласс="врап">
<х2> Мој Плугин </ х2> / * Наслов странице Плугин подешавања * /

__ ( 'Settings' , 'example_plugin' ) ; ?> </h3> /*Название раздела настроек*/ <х3> <пхп ецхо __ ('Сеттингс', 'екампле_плугин');?> </ х3> / * име одељка подешавања * /
/ * Старт опције за обраду обрасца. Образац садржи два поља за потврду, омогућите или онемогућите одговарајући плуг-ин функцијом * /
$_SERVER [ 'REQUEST_URI' ] ; ?> "> <Формулар метод = "пост" ацтион = "<ецхо $ _СЕРВЕР ['РЕКУЕСТ_УРИ'];?>">
<табле цласс="форм-табле">
<тр>
<тх цолспан=2 сцопе="ров"> / * Први чекбокс - ће носити додатак у заглављу запис * /
( $myplug_modify_title ) echo "checked" ; ?> > <?php echo __ ( 'Add random phrase to post title' , 'example_plugin' ) ; ?> <Инпут наме = "миплуг_модифи_титле" типе = "цхецкбок" <иф ($ миплуг_модифи_титле) ецхо "проверен";? >> <Пхп ецхо __ ('Додај насумичну фразу да поставиш наслов', 'екампле_плугин');?>
</ Тх>
</ ТР>
<тр>
<тх цолспан=2 сцопе="ров"> / * Други чекбокс - да ли плуг-ин за руковање тело записа * /
( $myplug_modify_content ) echo "checked" ; ?> > <?php echo __ ( 'Add random phrase to post content' , 'example_plugin' ) ; ?> <Инпут наме = "миплуг_модифи_цонтент" типе = "цхецкбок" <иф ($ миплуг_модифи_цонтент) ецхо "проверен";? >> <Пхп ецхо __ ('Додај насумичну фразу да објавите садржај', 'екампле_плугин');?>
</ Тх>
</ ТР>
</ Табле>
<инпут типе="хидден" наме="цмд" валуе="миплугин_саве_опт"> / * "функционални" део дугме сачувате подешавања * /
<п цласс="субмит">
'Save Changes' ) ?> " /> /*Вывод кнопки сохранения настроек в браузер. <Инпут типе = "субмит" име = "Пошаљи" валуе = "<пхп(" Сачувај измене ")>?" /> / * Излаз дугме да бисте сачували свој прегледач. Стандардна карактеристика Уордпресс * /
</ П>
</ Образац> / * Крај опција образаца за обраду * /

/ * Приказ информација о додатку. На пример - који је радио * /
__ ( 'Plugin developed' , 'example_plugin' ) ; ?> </h3> <х3> <пхп ецхо __ ('додатак развијен', 'екампле_плугин');?> </ х3>
<табле цласс="форм-табле">
<тр> <тх>
<ул>
__ ( 'By: <a href="http://www.dimio.org/" target="_blank">dimio</a>' , 'example_plugin' ) ; ?> </li> <ли> <пхп ецхо __ ('Пише: <а хреф="хттп://ввв.димио.орг/" таргет="_бланк"> димио </ а>', 'екампле_плугин');?> </ п>
</ Ул>
</ Тх> </ див> </ табле>

/ * Блокирајте увођење нових фраза у табели подешавања, плуг-ин. Први је референца за корисника * /
__ ( 'Adding phrases' , 'example_plugin' ) ; ?> </h3> <х3> <пхп ецхо __ ('Додавање фразе', 'екампле_плугин');?> </ х3>
/ * Покрените форму за унос. Образац садржи текст поље за унос ширину од 80 знакова и са висине од 12 линија * /
<табле цласс="форм-табле" видтх="300пк">
<тр>
<тд>
__ ( 'Format phrases: Title|Body' , 'example_plugin' ) ; ?> <br /> <Пхп ецхо __ ('Формат ознаке: Наслов | Боди', 'екампле_плугин');?> <бр />
$_SERVER [ 'REQUEST_URI' ] ; ?> "> <Формулар метод = "пост" ацтион = "<ецхо $ _СЕРВЕР ['РЕКУЕСТ_УРИ'];?>">
<тектареа цолс=80 ровс=12 наме="префс_басе"> </ тектареа> / * Поље за уношење нове фразу * /
</ ТД>
</ ТР>
</ Табле>
/ * Дугме да бисте сачували фразе. По аналогији са дугме сачували подешавања, али без употребе стандардног клавир, и Уордпресс * /
<инпут типе="хидден" наме="цмд" валуе="адд_префс">
<п цласс="субмит">
__ ( 'Add phrases' , 'example_plugin' ) ; ?> " /> <Инпут типе = "субмит" име = "Пошаљи" валуе = "<пхп ецхо __ ('Додаци фразе', 'екампле_плугин');?>?" />
</ П>
</ Форм>
/ * Образац садржи једно дугме - Очистите подешавања плугин табеле * /
$_SERVER [ 'REQUEST_URI' ] ; ?> "> <Формулар метод = "пост" ацтион = "<ецхо $ _СЕРВЕР ['РЕКУЕСТ_УРИ'];?>">
<инпут типе="хидден" наме="цмд" валуе="дел_префс">
__ ( 'Remove all phrases from the database' , 'example_plugin' ) ; ?> " /> <Инпут типе = "субмит" име = "Пошаљи" валуе = "<пхп ецхо __ ('Уклони све фразе из базе', 'екампле_плугин');?>" />
</ Форм>
</ Див>

<Пхп?
/ / Крај стварање и обрада функције страници подешавања.
}
>?

Покушао сам да коментар у коду свих кључних тачака за разумевање, у сваком случају вреди читања о ХТМЛ-а и ЦГИ-програмирању уопште. Иако у принципу - све је интуитиван, а ако буде потребно додати нове елементе на страници подешавања - молим те, барем - реци ми у ком правцу да копају.

У следећем броју ћу испитати функционални део плуг-ин за ВордПресс. Рећи ћу ти како да напишете плуг-ин функције за пријем података из базе и допунама вордпресс-публикацију.
'Add phrases' , 'example_plugin' ) ; ?> – это как раз задел для будущего грамотного перевода (фактически – интернационализации) плагина). Дозволите нам онда Руссифицатион Плугин (требало је да буде опрезан да обратите пажњу на изазове у облику <?php echo __ ( 'Add phrases' , 'example_plugin' ) ; ?> основа за будуће пренос писмености (у ствари - интернационализација) плуг-ин).
И на крају - да ли ће вам показати како да пошаљете свој плугин за верификацију и накнадна објављивања у УордПресс спремишта на ВордПресс.орг.
Не пропустите! :)

ПС То је још увек доступна за довнлоад плугин фајл је већ ажуриран.

Више о сличним темама:

Категорија Филед ундер: СЕО и блоггинг , Цодинг | Таг Тагс: , , , , , се | Коментари 11 коментара

Коментари

11 коментара на "Писање плугин за ВордПресс. Да бисте креирали подешавања странице плугин (парт 4) "

  1. АрНиц пише:

    У општем, хладном опис. Али и даље препоручује коришћење било "случаја" - или изградња "ако ... ифелсе друго ..."
    Зашто не? Па, чисто да се схвати.
    Јасно је да имате процес променљива $ ЦМД је - али знате, бити јасно да ли сви ови третмани ће бити један ентитет, а не појединачним условима. Узгред тамо Ипак, постоји једна ствар: Учинак
    Пошто у вашем случају, код барибир (још увек) ће проверити све услове. Али, применом предложеног дизајна кода да достигне жељени резултат, једноставно прекинете даље потрагу за сходно. Ово смањење у ЦПУ времена. Још један плус тачка. Ова читљивост. Када погледате дизајн случај или "ако ... ифелсе друго ..." знате да је ово уобичајено лечење, а онда или или. И можете да постигну опште овог блока на жељену тачку :)
    Жао нам је због нејасног текста донекле реци никад нормално није могао.

    • димио пише:

      Идеја је у принципу јасан. Преписује у форми ако {} {} елсиф ће бити разумно.
      Да би се смањило време потребно за ЦПУ итерацију кроз опције за изградњу највероватнији редослед, а не, као сада стоје.

  2. Иларион пише:

    Па, ви стварно зхзхосх! Толико код, али још увек нема објашњење пристојан! :-) Док 3 + је максимална :-) Савет: Можете писати тако да људи могу да разумеју и занимљива, не само ви, драги аутор!

    • АрНиц пише:

      Узалуд. Слажем се да код није најбоља - али коментари су веома јасни.

      • Иларион пише:

        Па, није тако лоше код, не! Само када се преселио сувише брзо, како кажу, не предигру :-) . Морали смо некако да делите претходних постова ове информације да ни чајник (кога ја нисам), било је све јасно. Али ја имам питања и питања ...

        • АрНиц пише:

          Наравно, само аутор на почетку слипа да је научио пхп је то због жеље да напише плугин. ИМХО за неискусног програмера - Бр.

  3. Схуа пише:

    Да ли сви од примера за прављење странице. Сам одлучио да проверите. Када активирате плугин поруку о грешци: "Плугин произведено активирањем 292 карактера неочекиван закључак. ... "
    Нотепад + +, утф-8 без Пону ене
    ВП 3.1.1

    • димио пише:

      3.1.1 нисам. Последња ствар цхецкед - 2.9.2.
      У процесу писања ових белешки направио сам плугин који сам ја сада ради на верзији 3.1. ( [Линк] ). Можете да упоредите са њим, постоји грешка или не.

Леаве а Репли