WordPress-д зориулсан ашигтай кодын оруулга (хэсэг). WordPress дахь PHP код - шилдэг туршлагууд WordPress дээрх скрипт болон хэв маягийн зөрчилгүй холболт

WordPress кодыг хаа сайгүй ижил хэв маягаар бүтээж, үндсэн, залгаасууд болон сэдвүүдэд уншихад хялбар байхын тулд WordPress хөгжүүлэгчид баталсан кодчиллын стандартыг дагаж мөрдөхийг зөвлөж байна. Эдгээр стандартууд нь PEAR стандарттай маш төстэй боловч мэдэгдэхүйц ялгаа байдаг. Тэдэнтэй танилцаж, боломжтой бол залгаас эсвэл сэдэв үүсгэхдээ дагаж мөрдөхийг зөвлөж байна.

PHP кодыг өөрөө бичих стандартаас гадна кодыг баримтжуулах стандартууд бас байдаг - эдгээр нь функц, дэгээний талаархи тайлбарууд юм: PHP Баримт бичгийн стандартууд (Англи хэл)

Ганц ба давхар хашилт

Хэрэв мөрөнд хувьсагч байхгүй бол дан хашилт, үгүй ​​бол давхар хашилт хэрэглэнэ. Мөр дэх ишлэлээс зайлсхийх шаардлагагүй бөгөөд хэрэв байгаа бол тэдгээрийг ээлжлэн бичихийг зөвлөж байна:

Цуурай "Холбоосын нэр"; echo "$linkname";

Энэ жишээний хоёр дахь мөрөнд гаралтын хувьсагчдыг арилгахгүй байгаа бөгөөд үүнийг аюулгүй байдлын үүднээс хийх ёстой. Тиймээс ийм бичихийн тулд хувьсагчдыг урьдчилан цэвэрлэх шаардлагатай. Ерөнхийдөө ийм бичлэгийг хүлээн зөвшөөрөх боломжгүй гэж үзэж болно! Аюулгүй гаралтын талаархи зааварчилгааг үзнэ үү.

Догол

Догол нь кодын логик бүтцийг үргэлж харуулах ёстой. Хоосон зай биш табуудыг (Tab товчлуур) ашигла - энэ нь илүү уян хатан байдлыг өгдөг. Шугамын дотор ямар нэг зүйлийг зэрэгцүүлэх шаардлагатай үед зайг ашиглах хэрэгтэй.

Дүрэм:Догол мөрний эхэнд табыг ашиглах ёстой бол мөрийн дунд зайг зэрэгцүүлэхэд ашиглаж болно.

Хэрэв (нөхцөл) ( $foo = "зарим үнэ цэнэ"; $foo2 = "зарим үнэ2"; $foo_bar = "зарим үнэ цэнэ3"; $foo5 = "зарим үнэ цэнэ"; )

Хэрэв та үл үзэгдэх таб болон зайны тэмдэгтүүдийг харуулсан бол код иймэрхүү харагдах болно:

Хэрэв (нөхцөл) (---$foo.....= "зарим утга"; ---$foo2....= "зарим утга2"; ---$foo_bar.= "зарим утга3"; ---$foo5 ....= "зарим утга4"; )

Ассоциатив массивуудын хувьд утгууд нь шинэ мөрөөс эхлэх ёстой. Массивын элементүүдийг жагсаахдаа "сүүлийн" таслалыг тавихыг зөвлөж байна - энэ нь шинэ элемент нэмэхэд илүү хялбар болгодог ...

$my_array = массив(---"foo"..=> "зарим утга", ---"foo2"..=> "зарим утга2", ---"foo3"..=> "зарим үнэ цэнэ3", -- - "foo34".=> "зарим утга3",);

Буржгар хаалтны загвар

Доор үзүүлсэн шиг хэв маягийн бүх блокуудад буржгар хаалт ашиглах ёстой.

Хэрэв (нөхцөл) ( action1(); action2(); ) elseif (нөхцөл2 && нөхцөл3) ( action3(); action4(); ) else ( defaultaction(); )

Хэрвээ урт блок байгаа бол үүнийг боломжтой бол хоёр буюу түүнээс дээш богино блок эсвэл функц болгон задлах хэрэгтэй. Хэрэв ийм урт блок шаардлагатай бол төгсгөлд нь богино тайлбар оруулаад буржгар хаалт яг юу хаагдахыг тодорхой болгох хэрэгтэй. Энэ аргыг 35 ба түүнээс дээш мөртэй блокуудад ашиглах нь логик юм.

Ухаалаг биш аливаа кодыг тайлбарлах хэрэгтэй.

Шаардлагагүй байсан ч буржгар хаалтуудыг үргэлж хэрэглээрэй.

Хэрэв (нөхцөл) ( action0(); ) if (нөхцөл) ( action1(); ) elseif (нөхцөл2) ( action2a(); action2b(); ) foreach ($зүйлүүдийг $ зүйл) (process_item($item); )

Буржгар хаалт ашиглах шаардлага нь нэг шугамын хэв маягийг үргэлж хориглодог гэдгийг анхаарна уу.

$var = "аюултай""; // орхигдохгүй байж болох түүхий өгөгдөл $id = some_foo_number(); // тоогоор хүлээгдэж буй өгөгдөл, гэхдээ $wpdb->query($wpdb->) гэдэгт итгэлтэй биш байна. бэлтгэх( "ШИНЭЧЛЭХ $wpdb-> нийтлэл SET post_title = %s WHERE ID = %d", $var, $id));

%s нь мөрт, %d нь бүхэл тоонд ашиглагддаг. Тэд "хашилтанд" биш гэдгийг анхаарна уу! $wpdb->prepare() өөрөө тэмдэгт мөрүүдээс зайлсхийж, шаардлагатай бол ишлэл нэмнэ. Preparat()-ын давуу тал нь та esc_sql()-г гараар ашиглахаа санах шаардлагагүй, мөн орлуулагчтай асуулгын мөр нь esc_sql()-д ороосон хувьсагчдыг ашигласантай харьцуулахад илүү харагдахуйц байдаг.

Өгөгдлийн сангийн асуулга

Өгөгдлийн санд шууд асуулга бичихгүй байхыг хичээгээрэй. Хэрэв WP-д шаардлагатай өгөгдлийг авах боломжтой олон функц байгаа бол үүнийг ашиглана уу.

Асуулгын оронд функцийг ашиглах нь ирээдүйн кодын нийцтэй байдлыг хадгалахад тусална. Нэмж дурдахад олон функцууд кэштэй ажилладаг бөгөөд энэ нь кодыг ихээхэн хурдасгах болно.

Анги, функц, файл, тогтмол, хувьсагчийн нэрс

Функцийн нэрс, хувьсагч, дэгээ

Хувьсагч, дэгээ болон функцын нэрэнд a-z жижиг үсгийг ашигла, CamelCase-г хэзээ ч бүү ашигла. Тус тусад нь үгсийг доогуур зураасаар тусгаарла _. Шаардлагагүй бол хувьсагчийн нэрийг богиносгож болохгүй; кодыг хоёрдмол утгагүй, өөрөө баримтжуулах.

Зарим_нэр($зарим_хувьсагч) функц ( [...] )

Ангийн нэрс

Та доогуур зураасаар тусгаарлагдсан Том_Үсгээр бичсэн үгсийг ашиглах ёстой. Аливаа товчлол (товчилсон нэр, товчилсон үг) нь КАПИТАЛ байх ёстой.

Ангилал Walker_Category нь Walker ( [...] ) ангиллын WP_HTTP ( [...] )

Тогтмолууд нь доод зураасаар тусгаарлагдсан ТОМ үсгээр бичигдсэн байх ёстой:

Тодорхойлох("DOING_AJAX", үнэн);

Файлын нэрс

Тодорхой байх ёстой бөгөөд зөвхөн жижиг үсэг агуулсан байх ёстой бөгөөд үгс нь зураасаар тусгаарлагдсан байх ёстой - .

My-plugin-name.php

Ангийн файлын нэрс

Class- угтвартай ангийн нэр дээр үндэслэсэн байх ёстой бол ангийн нэрний доогуур зураасыг зураасаар солино, жишээлбэл WP_Error нь:

Class-wp-error.php

Энэ файлын нэршлийн стандарт нь одоо байгаа болон шинэ ангиллын бүх файлд хүчинтэй. Гэсэн хэдий ч, үл хамаарах файлууд байдаг: class.wp-dependencies.php, class.wp-scripts.php, class.wp-styles.php. Эдгээр файлууд нь ангийн угтвартай байдаг. , зураасын оронд анги гэдэг үгийн дараах цэг.

Функцийн параметрүүд дэх хувьсагчдын утгыг арилгах

Булийн утгыг мөрийн утгуудаас илүүд үздэг. Тэдгээр. Функцуудыг дуудахдаа үнэн/худал гэдгийн оронд параметрийн утгыг тайлбарлах ямар нэгэн стринг ашиглах нь дээр.

Муу код:

Функц eat($what, $slowly = үнэн) (... ) eat("мөөг"); идэх("мөөг", үнэн); // үнэн гэж юу гэсэн үг вэ? идэх("туршилт", худал); // худал, үнэний эсрэг гэж юу гэсэн үг вэ?

PHP нь нэрлэсэн аргументуудыг дэмждэггүй тул тугны утгууд нь утгагүй бөгөөд дээрх жишээн дээрх шиг функцын дуудлагатай тулгарах бүрт бид функцийн баримт бичгийг үзэх шаардлагатай болдог. Кодыг логик утгын оронд тайлбарласан мөрийн утгыг ашигласнаар илүү унших боломжтой.

Сайн код:

Функц eat($what, $speed = "удаан") ( ... ) eat("мөөг"); идэх("мөөг", "удаан"); идэх("туршилт", "хурдан");

Хэрэв танд илүү олон функцын параметр хэрэгтэй бол $args массивыг ашиглана уу. Тэр бүр дээр!

Маш сайн код:

Функц eat($what, $args) ( ... ) eat("гоймон", array("хурд" => "дунд зэрэг"));

Динамик дэгээ нэрийн интерполяци

Унших, илрүүлэхэд хялбар болгохын тулд нэрэн дэх хувьсагчтай дэгээг интерполяци хийх (буржгар хаалтанд ( ба )) хавсаргах ёсгүй:

PHP нь интерполяцлагдсан мөр дэх хувьсагчдын өгөгдлийн төрлийг зөв задлан шинжлэхийн тулд хаалт шаардлагатай.

// зөв хийх_үйлдэл("($new_status)_($post->post_type)", $post->ID, $post); // буруу хийсэн_үйлдэл($new_status "_". $post->post_type, $post->ID, $post);

Боломжтой бол шошгоны нэр дэх динамик утгууд нь аль болох богино бөгөөд нарийвчлалтай байх ёстой. $user_id нь $this->id-ээс хамаагүй ойлгомжтой.

Гурвалсан оператор

Гурвалсан операторууд сайн байдаг ч худал мэдэгдэл гэхээсээ илүү үнэн зөв эсэхийг шалгахыг үргэлж зөвлөж байна. Үгүй бол энэ нь давхар сөрөгээс болж төөрөгдүүлж байна. Үл хамаарах зүйл бол ашиглах явдал юм! empty() учир нь заримдаа үүнийг өөр аргаар бичихэд хэцүү байдаг.

Хэрхэн шалгах вэ:

// (хэрэв нөхцөл үнэн бол = үнэн) ? (дараа нь бид үүнийг хийдэг) : (өөрөөр бол энэ); $music_type = ("жааз" == $ хөгжим)? "cool" : "bla"; // (хэрэв утга хоосон биш бол - ! хоосон) ? (дараа нь бид үүнийг хийдэг) : (өөрөөр бол энэ);

Хэрхэн бичихгүй байх вэ:

// (хэрэв нөхцөл хангагдаагүй бол!= үнэн) ? (дараа нь бид үүнийг хийдэг) : (өөрөөр бол энэ); $music_type = ("жааз"!= $хөгжим) ? "бла" : "сайн";

Мастер Йодагийн нөхцөл

Логик харьцуулалт хийхдээ үргэлж зүүн талд тогтмол буюу литерал, баруун талд хувьсагчийг тавина.

Хэрэв (үнэн == $the_force) ( $ялалт = чи_байна($ байх); )

Дээрх жишээн дээрх хоёр дахь = тэмдгийг орхивол (энэ нь бидний хамгийн туршлагатай хүмүүст ч тохиолддог) PHP алдаа гарах бөгөөд код ажиллахгүй тул бид үүнийг шууд харах болно. Гэхдээ хэрэв бүтээн байгуулалт нь эсрэгээрээ байсан бол - $the_force = true , дараа нь нөхцөл үргэлж биелэгдэх бөгөөд бид ямар ч алдаа олж харахгүй бөгөөд бид ийм ноцтой алдааг алдаж магадгүй бөгөөд үүнийг заримдаа барьж авахад хэцүү байдаг!

Та зүгээр л энэ "хөмсөг" бичихэд дасах хэрэгтэй.

Энэ нь == , != , === болон !== -д мөн хамаарна. "Yoda-ийн нөхцөл" -д зориулсан< , > , <= или >= уншихад илүү хэцүү бөгөөд тэдгээрийг энд ашиглахгүй байх нь дээр.

Ухаалаг код

Товчхондоо, кодыг унших боломжтой байх нь эхний ээлжинд байх ёстой бөгөөд энэ нь товчлол эсвэл зарим тодорхой бус, гэхдээ тохиромжтой товчлолоос илүү чухал юм.

Isset($var) || $var = some_function(); // эсвэл! isset($var) && $var = some_function();

Тиймээ - энэ бол гайхалтай бичлэг бөгөөд үүнийг туршлагатай програмист хийсэн нь тодорхой байна. Гэхдээ бусад хөгжүүлэгч, тэр байтугай зохиогч нь ийм бичлэгийг ойлгохын тулд бага зэрэг судалж, нэмэлт секунд эсвэл минут зарцуулах шаардлагатай болдог. Энэ нь тодорхой, тодорхой оруулга биш бөгөөд зайлсхийх хэрэгтэй бөгөөд үүнийг илүү урт, гэхдээ илүү тодорхой бичих нь дээр.

Хэрэв (! isset($var)) ( $var = some_function(); )

Алдаа дарах оператор @

PHP нь нэг алдааны хяналтын операторыг дэмждэг: @ тэмдэг. Хэрэв энэ нь PHP кодын аль нэг илэрхийллийн өмнө байгаа тохиолдолд тухайн илэрхийллээр үүсгэгдсэн аливаа алдааны мэдээг үл тоомсорлох болно.

Хэдийгээр энэ оператор цөмд байдаг ч хувьсагчийг зөв боловсруулахад хэтэрхий залхуу байдаг тул үүнийг ихэвчлэн ашигладаг. Түүний хэрэглээ хүчтэй байдаг Санал болгогдоогүйУчир нь PHP баримт бичигт хүртэл:

Анхаар: Өнөөдөр "@" оператор нь скриптийг тасалдуулж буй ноцтой алдааны талаар ч гэсэн мессежийн гаралтыг дардаг. Бусад зүйлсийн дотор хэрэв та функцийг ажиллуулах явцад гарсан алдааг дарахын тулд "@"-г ашигласан бол энэ нь байхгүй эсвэл буруу бичсэн бол скриптийн цаашдын гүйцэтгэлийг ямар ч мэдэгдэлгүйгээр зогсооно гэсэн үг юм.

Нэгэн өдөр та өөрийн вэбсайт эсвэл блог үүсгэхээр шийдэж, удирдлагын системийнхээ хувьд WordPress-ийг сонгосон... Цаг хугацаа өнгөрөх тусам таны сайт улам бүр уншигдахуйц болж, илүү алдартай болохын тулд та бага зэрэг функциональ нэмэх хэрэгтэй гэдгийг ойлгосон. сайт руу оруулах эсвэл зүгээр л зарим үйлдлийг автоматжуулах.

Та wordpress залгаасуудын "агуулах" руу орж, танд хэрэгтэй залгаас байхгүй байгааг олж мэдээрэй. Юу хийх вэ? Би юу хийх хэрэгтэй вэ? Хэрэв та PHP, layout програмчлалын үндсийг бага зэрэг мэддэг бол энэ нь танд хэцүү биш байх болно. Өөрөө WordPress-д зориулсан залгаас бичээрэй.

Одоо залгаасыг бэлтгэхийн тулд "гал тогоо" руу явцгаая.

P.s. Хэрэв танд php болон layout-ийн талаар мэдлэг байхгүй бол санаа зоволтгүй, хэн нэгнээс шаардлагатай функцийг бичихийг хүс :)

Та залгаас бичиж эхлэхээсээ өмнө залгаас бичих үндсэн зарчмууд болон зарим кодын жишээг тайлбарласан WordPress баримт бичигт хандах хэрэгтэй.

Би энэ мэдээллийг хуулбарлахгүй, харин шууд код бичих болно.

Сайтынхаа талаарх сэтгэгдлийг хадгалах, харуулах боломжийг олгох энгийн залгаасыг бичье. Мэдээжийн хэрэг, ийм залгаасууд аль хэдийн байдаг, гэхдээ энэ нь жишээ болгон сайн хэрэг болно.

Бидний хийх хамгийн эхний зүйл бол залгаасныхаа өвөрмөц нэрийг олох болно - " AdvUserReviews«.

Дараа нь бид "/wp-content/plugins/" сайтын лавлахад "advuserreviews" шинэ лавлах үүсгэх болно. Үүний дотор бид "advuserreviews.php" файлыг үүсгэх болно. Энэ нь ерөнхий эхлүүлэх үүрэгтэй үндсэн файл байх болно. (Файлд UTF-8 кодчилол ашиглахыг зөвлөж байна).

Файлын эхэнд та залгаасын талаархи үндсэн мэдээллийг зааж өгөх ёстой

Одоо, хэрэв та хяналтын самбар руу очвол систем нь шинэ залгаас олсон бөгөөд үүнийг идэвхжүүлэхийг санал болгож байгааг харж болно. Гэхдээ үүнийг хийхэд эрт байна.

Бид шинэ залгаасыг OOP загвараар бичих бөгөөд бүх өгөгдөл боловсруулалт нэг файлд байрлана. Файлын үндсэн араг ясыг үүсгэцгээе.

// Шууд дуудлагыг зогсоох if(preg_match("#" . basename(__FILE__) . "#", $_SERVER["PHP_SELF"])) ( die("Та энэ хуудас руу шууд залгах эрхгүй."); ) хэрэв (!class_exists("AdvUserReviews")) ( class AdvUserReviews ( // Нийтийн дотоод өгөгдлийг хадгалах $дата = массив(); // Объект бүтээгч // Үндсэн хувьсагчийн функцийг эхлүүлэх AdvUserReviews() ( ) ) ) global $rprice; $rprice = шинэ AdvUserReviews();

Одоо объект үүсгэгч дээр дараах кодыг нэмье.

AdvUserReviews() функц ( global $wpdb; // Манай залгаасын эхлүүлэх тогтмолыг зарлах DEFINE("AdvUserReviews", үнэн); // Манай залгаасын файлын нэр $this->plugin_name = plugin_basename(__FILE__); // URL хаяг манай залгаас $ this->plugin_url = trailingslashit(WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))); // Бидний шүүмжийг хадгалах хүснэгт // $wpdb хувьсагчийг дэлхий даяар зарласан байх ёстой $this->tbl_adv_reviews = $wp ->prefix . "adv_reviews"; // залгаас идэвхжсэн үед хийгдэх функц register_activation_hook($this->plugin_name, array(&$this, "идэвхжүүлэх")); // Plugin идэвхгүй болсон үед хийгдэх функц register_deactivation_hook($this->plugin_name, array (&$this, "идэвхгүй болгох")); // Plugin-ыг устгах үед гүйцэтгэдэг функц register_uninstall_hook($this->plugin_name, array(&$this, "устгах")); )

Объект бүтээгч дээр бид 3 "дэгээ" эсвэл "дэгээ" ашигладаг (тэдгээр нь юу вэ?): бүртгүүлэх_идэвхжүүлэх_дэгээ, бүртгэлийг идэвхгүй болгох дэгээТэгээд бүртгүүлэх_устгах_дэгээ- эдгээр нь залгаасыг идэвхжүүлэх, идэвхгүй болгох, устгах үед гүйцэтгэдэг функцууд юм.

Одоо эдгээр функцуудыг шууд хэрэгжүүлье.

/** * залгаасын идэвхжүүлэх */ функц activate() ( global $wpdb; require_once(ABSPATH . "wp-admin/upgrade-functions.php"); $table = $this->tbl_adv_reviews; // MySQL хувилбарыг тодорхойлох if ( version_compare(mysql_get_server_info(), "4.1.0", ">=")) (хэрэв (! empty($wpdb->charset)) $charset_collate = "ӨГӨМЖЛӨГДСӨН ТЭМДЭГТ $wpdb->тэмдэгт"; хэрэв (! хоосон( $wpdb->collate)) $charset_collate .= "COLLATE $wpdb->collate"; ) // Манай тоймд зориулсан хүснэгтийн бүтэц $sql_table_adv_reviews = "CREATE TABLE `".$wpdb->prefix."adv_reviews (`ID` INT(10) БУС NULL AUTO_INCREMENT, `review_title` VARCHAR(255) NULL БУС DEFAULT "0", `review_text` TEXT NULL БУС, `review_date` TIMESTAMP NOT NULL DEFAULT VARCHARNU0`review_review. LL , `review_user_email` VARCHAR(200) NULL, PRIMARY KEY (`ID`))".$charset_collate.";"; // Хэрэв ($wpdb->get_var(""".$хүснэгт зэрэг хүснэгтүүдийг харуулах) хүснэгт байгаа эсэхийг шалгана уу. .""" ) != $table) ( dbDelta($sql_table_adv_reviews); ) ) /** * залгаасын идэвхгүй болгох */ функцийг идэвхгүй болгох () ( үнэнийг буцаана; ) /** * Plugin устгах */ функцийг устгах () ( глобал $wpdb; $wpdb->query("ХЭВТ БАЙВАЛ ХҮСНЭГТИЙГ DROP ($wpdb->угтаа)adv_reviews"); )

Хувьсагч $wpdbМэдээллийн санд асуулга хариуцна. Чиг үүрэг dbDeltaОдоогийн хүснэгтийн бүтцийг задлан шинжилж, хүссэн хүснэгтийн бүтэцтэй харьцуулж, шаардлагатай бол хүснэгтийг нэмж эсвэл өөрчилнө.

Үүний дагуу залгаасыг идэвхжүүлсэн үед тоймыг хадгалах хүснэгтийн бүтэц бий болно. Plugin идэвхгүй болсон үед ямар ч үйлдэл гарахгүй, харин устгагдсан тохиолдолд бид хүснэгтээ устгана. Үйлдлүүдийг эх кодоос илүү нарийвчлан ойлгож болно.

Шинэ залгаасын үндсэн бүтэц бэлэн боллоо. Одоо бид функциональ хэсгийг бичиж эхлэх хэрэгтэй. Үүнийг хийхийн тулд бид анги үүсгэгч рүү кодын дараах мөрүүдийг нэмэх хэрэгтэй.

// Хэрэв бид админд байгаа бол. интерфэйс if (is_admin()) ( // Загвар болон скрипт нэмэх add_action("wp_print_scripts", массив(&$this, "admin_load_scripts")); add_action("wp_print_styles", массив(&$this, "admin_load_styles")); // залгаасын цэс нэмэх add_action("admin_menu", array(&$this, "admin_generate_menu")); ) else ( // Загвар болон скрипт нэмэх add_action("wp_print_scripts", array(&$this, "site_load_scripts" )) ; add_action("wp_print_styles", массив(&$this, "site_load_styles")); add_shortcode("show_reviews", массив (&$this, "site_show_reviews")); )

Кодын энэ хэсгийг илүү дэлгэрэнгүй авч үзье. Захиргааны самбараас эхэлцгээе.
функц " админ» вэб сайт эсвэл хяналтын самбар дээр бид ямар горимд ажиллаж байгааг шалгадаг.
Дараа нь хэд хэдэн дэгээг функцэд ашигладаг:

  • wp_print_scripts- Шаардлагатай JavaScript файлуудыг нэмнэ үү
  • wp_print_styles- Шаардлагатай хэв маягийг нэмнэ үү
  • админ_цэс- Хяналтын самбарт шинэ цэс нэмж байна

Дэгээ бүр манай ангид хэрэгжсэн аргатай тохирч байна. Үүнд шаардлагатай үйлдлүүд хийгддэг.
Загвар болон скриптүүдийг холбох кодыг харцгаая

/** * Удирдлагын самбарт * удирдлагын хуудсанд шаардлагатай скриптүүдийг ачаалж байна */ функц admin_load_scripts() ( // Скриптүүдийг бүртгүүлэх wp_register_script("advReviewsAdminJs", $this->plugin_url . "js/admin-scripts.js") ; wp_register_script( "jquery", $this->plugin_url . "js/jquery-1.4.2.min.js"); // хуудсанд скрипт нэмэх wp_enqueue_script("advReviewsAdminJs"); wp_enqueue_script("jquery"); ) /** * Удирдлагын самбарт * хяналтын хуудсанд шаардлагатай загваруудыг ачаалж байна */ функц admin_load_styles() ( // Загваруудыг бүртгүүлэх wp_register_style("advReviewsAdminCss", $this->plugin_url . "css/admin-style.css") ; // Загвар нэмэх wp_enqueue_style( "advReviewsAdminCss"); )

Энд дараах функцуудыг ашигладаг.

Үйлдэл бүр нь "засварлах" - шүүмжийг засварлах, "илгээх" - засварласан шүүмжийг хадгалах, "устгах" - шүүмжийг устгах зэрэг дамжуулсан "үйлдэл" параметрээс хамаарна.

Дэлгэцийн хуудсуудтай өгөгдөл солилцох нь "өгөгдлийн" объектын шинж чанараар явагддаг. Эдгээр хуудасны эх кодыг нийтлэлийн төгсгөлд энэ модулийн хамт архивт байршуулах болно. Сэдэв нэлээд том болсон тул би тэдгээрийг энд оруулахгүй.

Энд бид удирдлагын самбарыг дуусгаж, хэрэглэгчдийн сэтгэгдлийг харуулах, нэмэх рүү шилжинэ.

WordPress-д залгаасыг хэзээ дуудахыг хэлэхийн тулд бид "богино код"-ыг бүртгүүлэх шаардлагатай бөгөөд үүнийг манай ангийн бүтээгч дээр хийсэн. Энэ талаар дэлгэрэнгүй уншина уу.

Нэмэх_богино код("шалгах_үзүүлэлт", массив (&$энэ, "сайт_үзүүлэлт"));

Одоо та дараах кодыг сайтын аль ч хуудсан дээр байрлуулж болох бөгөөд энэ нь бидний тодорхойлсон функцийг (хоёр дахь параметр болгон дамжуулсан) гүйцэтгэх болно. Энэ функцийн эх кодыг доор харуулав.

/** * Сайт дээрх шүүмжүүдийн жагсаалт */ нийтийн функц site_show_reviews($atts, $content=null) ( глобал $wpdb; if (isset($_POST["action"]) && $_POST["action"] = = "add-review") ( $this->add_user_review(); ) // Өгөгдлийн сангаас бүх шүүмжийг сонго $this->data["reviews"] = $wpdb->get_results("SELECT * FROM `" . $ this- >tbl_adv_reviews . "`", ARRAY_A); ## Гаралтын буферийг идэвхжүүлэх ob_start (); include_once("site_reviews.php"); ## Мэдээлэл хүлээн авах $output = ob_get_contents (); ## ob_end_clean буферийг идэвхгүй болгох (); буцах $output ; ) хувийн функц add_user_review() ( глобал $wpdb; $inputData = массив("review_title" => strip_tags($_POST["review_title"]), "review_text" => strip_tags($_POST["review_text"]) , " review_user_name" => strip_tags($_POST["review_user_name"]), "review_user_email" => strip_tags($_POST["review_user_email"]), // Сайтад шинэ шүүмж нэмэх $wpdb->insert( $this-> tbl_adv_reviews, $inputData); )

Зарчмын хувьд энд ямар ч төвөгтэй зүйл байхгүй - өгөгдлийг сонгохын тулд SQL асуулга хийдэг боловч "үйлдэл" параметрийг дамжуулсан бол эхлээд шинэ тоймыг нэмнэ. Гэхдээ гаралтын буферт анхаарлаа хандуулах нь зүйтэй. Оруулсан хуудасны өгөгдлийг олж авахад шаардлагатай.

Тэгээд л болоо. Одоо бид юу авснаа харж байна. А залгаас болон эх кодыг татаж авахчи энд болно.

Мэдээжийн хэрэг, энэ нь зөвхөн залгаас үүсгэх жишээ боловч хэрэв та үүнийг бага зэрэг өөрчилбөл, жишээ нь, роботоос хамгаалах, хуудасны гаралтыг нэмбэл энгийн зочны програм болж ажиллах болно. Аз жаргалтай кодчилол :)

Вэбсайт дээрх маягт:

Plugin хяналтын самбар:

Шүүмжийг засах:

Та бас сонирхож магадгүй:


Бүх шинэхэн вэбмастерууд кодтой ажиллахаас айж, хойшлогддог - тэд HTML эсвэл PHP нэмэх эсвэл буруу газар оруулах замаар сайтаа гэмтээхээс айдаг. Мэдээжийн хэрэг, хэрэв та WordPress-ийн кодыг буруу газар оруулбал бүх зүйлийг сүйтгэх болно. Гэсэн хэдий ч энэхүү CMS нь эхлэгчдэд маш сайн тохирсон тул алдаа гаргахад хэцүү байх болно.

Энэ нийтлэлд бид HTML эсвэл PHP кодыг WordPress дээр хэрхэн аюулгүй оруулах талаар авч үзэх болно. Гэхдээ эхлээд энэ нь яагаад ашигтай байж болох вэ.

Яагаад WordPress дээр код оруулах вэ?

Сайтын ашиглалтын хугацаанд вэбмастер нь хуудаснууд дээр ажиллах ёстой WordPress кодыг суулгах шаардлагатай байж магадгүй юм. Энэ нь янз бүрийн шалтгааны улмаас шаардлагатай байж болно: жишээлбэл, замын хөдөлгөөний тоолуур суулгах, зарим нэг ер бусын виджет, эсвэл загварт хувийн шинж чанар нэмэх.

WordPress нь кодыг суулгах хоёр аргыг санал болгодог. Тэднийг харцгаая.

Текст виджет ашиглан суулгана

Виджет ашиглан WordPress дээр код суулгахын тулд та "Гадаад төрх" консол дахь цэсийн зүйл болон "Виджет" дэд зүйл рүү очих хэрэгтэй. Тэдгээрийн дотроос та "Текст" -ийг олж, хулганаар хүссэн хэсэг рүү шилжүүлэх хэрэгтэй.

Виджет нээгдэх бөгөөд та түүний гарчгийг бөглөхөөс гадна шаардлагатай кодыг тохирох талбарт байрлуулж болно. "Хадгалах" товчийг дарсны дараа үйл ажиллагаа сайтын хуудсууд дээр хийгдэнэ.

WordPress дээр код суулгах энэ арга нь HTML, PHP, тэр ч байтугай JavaScript дээр ажиллахад тохиромжтой. Энэ аргыг ихэвчлэн ашигладаг, учир нь энэ нь хялбар бөгөөд эхлэгчдэд тохиромжтой.

Файл руу суулгах

Эхлэгчдэд файл засварлах замаар WordPress дээр код суулгахыг зөвлөдөггүй ч эрт орой хэзээ нэгэн цагт хүн бүр үүнийг эзэмших шаардлагатай болно. Эхний аргад дурдсанчлан HTML эсвэл PHP-ийг зөвхөн виджетийн талбарт бус аль ч хэсэгт байрлуулж болох тул энэ арга тохиромжтой. Энэхүү суулгах аргын сул тал нь аюултай бөгөөд хэрэв алдаа гарвал сайт ажиллахгүй болно. Тиймээс, энэ аргыг ашиглахаасаа өмнө та өөрийн файл, мэдээллийн сангийн нөөц хуулбарыг хийх ёстой.

WordPress дээрх файлд кодыг шууд суулгахын тулд тухайн файл нь тухайн сайтын аль хэсгийг хариуцаж байгааг мэдэх хэрэгтэй. Өөр өөр загварт өөр өөр файлууд тодорхой функцийг гүйцэтгэдэг тул энд нарийн зөвлөмж өгөх боломжгүй юм. Гэсэн хэдий ч та сэдэвчилсэн файлуудын талаар ямар нэг зүйлийг сурч болно. WordPress дээрх загвар файл дахь кодыг суулгахаас гадна үүнийг CMS-ийн файлуудад бас хийж болно.

Код унших чадвар нь маш эмзэг сэдэв бөгөөд зохих анхаарал хандуулах шаардлагатай. Энэ нийтлэлээс та энэ сэдвийг ахиулахад туслах 16 арга техникийг сурах болно.

1. Сэтгэгдэл, баримт бичиг

IDE нь хөгжүүлэгчдийн ертөнцөд улам бүр түгээмэл болж байна, учир нь... Тэд кодын тайлбар болон баримтжуулахад тохиромжтой хэрэгслээр хангадаг.

Энд нэг жишээ байна:

Өөрийнхөө аргыг дуудах өөр нэг жишээ энд байна:

Энэ жишээнд тайлбар бичих загвар нь PHPDoc дээр суурилсан бөгөөд миний ашиглаж буй IDE нь Aptana юм.

2. Догол мөр

Та өөрийн кодын доголын ач холбогдлыг аль хэдийн мэдэж байгаа гэж бодож байна. Ерөнхийдөө код форматлах хэд хэдэн хэв маяг байдаг.

Функц foo() ( if ($магад) ( do_it_now(); дахин(); ) else ( abort_mission(); ) finalize(); )

Функц foo() ( if ($магад) ( do_it_now(); дахин(); ) else ( abort_mission(); ) finalize(); )

Функц foo() ( if ($магад) ( do_it_now(); дахин(); ) else ( abort_mission(); ) finalize(); )

Би хувьдаа 2-р хэв маягийг ихэвчлэн ашигладаг ч заримдаа №1 рүү шилждэг. Гэхдээ энэ бүхэн мэдээжийн хэрэг амтаас хамаардаг. Хүн бүрт тохирсон "хамгийн сайн" загвар байдаггүй байх. Эдгээр дүрмийг юуны өмнө багаар ажилладаг эсвэл нээлттэй эхийн төсөл бичихэд оролцдог хүмүүс дагаж мөрдөх шаардлагатай.

Мөн тодорхой шинж чанаруудыг хослуулсан загварууд байдаг. Жишээлбэл, PEAR код бичих стандартууд нь нөхцөлт хэллэг дэх "(" буржгар хаалт нь ижил мөрөнд хэвээр байх боловч функцэд шилждэг.

PEAR загвар:

Функц foo() ( // шинэ мөрөнд if ($магадгүй) ( // ижил мөрөнд do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Энэ хэв маяг нь табын оронд 4 зай ашигладаг гэдгийг тэмдэглэх нь зүйтэй.

Та янз бүрийн хэв маягийн талаар илүү ихийг мэдэж болно.

3. Шаардлагагүй сэтгэгдэл бичихээс зайлсхий

Тийм ээ, сэтгэгдэл бичих код сайн байна; гэхдээ үүнийг хэтрүүлэх шаардлагагүй. Энд нэг жишээ байна:

// улсын кодыг авах $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); // хэрэв тухайн улс АНУ бол ($улсын_код == "АНУ") ( // echo form_input_state(); ) хэлбэрийг харуулах

Хэрэв кодын ажил тодорхой бол та шаардлагагүй сэтгэгдэл бичих ёсгүй.

Хэрэв танд байхгүй бол тэдгээрийг бага зэрэг богиносгож болно:

// хэрэв тухайн улс нь US $country_code = get_country_code($_SERVER["REMOTE_ADDR"]) бол маягтыг харуулах; хэрэв ($улсын_код == "АНУ") ( echo form_input_state(); )

4. Кодын бүлэглэл

Ихэнх тохиолдолд зарим ажил нь хэд хэдэн мөр код бичихийг шаарддаг. Тиймээс ийм ажлуудыг орон зайгаар тусгаарласан тусдаа блок болгон нэгтгэх нь хамгийн сайн арга юм.

Энд энгийн жишээ байна:

// форумын жагсаалтыг авах $forums = array(); $r = mysql_query("Форумуудаас сонгох ID, нэр, тайлбар"); while ($d = mysql_fetch_assoc($r)) ( $forums = $d; ) // загварыг ачаалах load_template("толгой"); load_template("форумын_жагсаалт",$форумууд); load_template("хөл хэсэг");

Хэрэв та блок бүр эхлэхээс өмнө тайлбар нэмбэл энэ нь таны кодын унших чадварыг улам сайжруулах болно.

5. Нэрлэх схем

Заримдаа PHP хэл дээр ч гэсэн функцүүдийн нэршилд нийцэхгүй байгааг олж мэдэх боломжтой. Мөн энд олон жишээ байна:

  • strpos() vs str_split()
  • imagetypes() vs image_type_to_extension()

Хэд хэдэн алдартай загварууд байдаг:

  • camelCase: шинэ үг бүрийн эхний үсгийг томоор бичнэ.
  • доогуур зураас: Үгсийн хоорондох доогуур зураас: mysql_real_escape_string().

Хэрэв та эдгээр техникийг хольвол эрт орой хэзээ нэгэн цагт та эвгүй байдалд орж болно. Хэрэв та эдгээр аргуудын аль нэгийг ашигласан төсөл дээр ажиллаж байгаа бол та үүнийг дагаж мөрдөхийг хүсэх болно. Энэ нь програмчлалын хэлнээс хамааралтай хэвээр байж магадгүй юм. Жишээлбэл, ихэнх Java хөгжүүлэгчид camelCase ашигладаг бол PHP хөгжүүлэгчид доогуур зураасыг илүүд үздэг.

Гэхдээ энд ч гэсэн эрлийз байсан. Зарим хөгжүүлэгчид анги, аргуудыг (ангиас гадуур) нэрлэхдээ доогуур зураасыг ашигладаг бол бусад тохиолдолд camelCase ашигладаг:

Ангилал Foo_Bar ( нийтийн функц someDummyMethod() ( ) ) функц процедурын_функцийн_нэр() ( )

Шилдэг хэв маяг гэж байдаггүй гэдгийг дахин хэлье. Та зүгээр л ямар нэгэн зүйлд тууштай байх хэрэгтэй.

6. DRY зарчим

ХУУРАЙ (Өөрийгөө давтахгүй) - өөрийгөө бүү давт. Мөн DIE гэж нэрлэдэг: Давхардал бол хорон муу.

Вэб програм эсвэл өөр ямар нэгэн системийн гол ажил бол давтагдах ажлуудыг автоматжуулах явдал юм. Энэ зарчмыг үргэлж, хаа сайгүй дагаж мөрдөх ёстой, ялангуяа та хөгжүүлэгч бол. Нэг кодыг дахин дахин давтаж болохгүй.

Жишээлбэл, ихэнх вэб програмууд нэг буюу хэд хэдэн хуудаснаас бүрддэг. Эдгээр хуудсууд нь ижил элементүүдийг агуулсан байх нь тодорхой байна. Толгой ба хөл нь хамгийн гайхалтай жишээ юм. Хуудас бүр дээр хичнээн олон хүн эдгээр элементүүдийг давтсаар байгаад та гайхах болно.

$this->load->view("толгой/толгой багтана"); $this->load->view($main_content); $this->load->view("includes/footer");

7. Гүн үүрлэхээс зайлсхий

Хэрэв та гүн үүрлэсэн бол код унших чадвар эрс буурдаг.

функц do_stuff() ( // ... if (write_write($folder)) ( if ($fp = fopen($file_path,"w")) ( if ($stuff = get_some_stuff()) ( if (fwrite($) fp,$stuff)) ( // ... ) else ( худал буцах; ) ) else ( худал буцах; ) ) else ( худал буцах; ) ) else ( худал буцах; ) )

Нөхцөл байдлыг засахын тулд та өөрийн код хэрхэн ажилладаг талаар эргэн харж, оновчтой болгох хэрэгтэй.

функц do_stuff() ( // ... if (!is_writable($folder)) ( return false; ) if (!$fp = fopen($file_path,"w")) ( return false; ) if (!$stuff) = get_some_stuff()) ( худал буцаана; ) if (fwrite($fp,$stuff)) ( // ... ) else ( худал буцаана; ) )

8. Шугамын уртын хязгаар

Текстийг баганад хуваах үед унших үйл явц илүү тааламжтай болдог гэдгийг хүн бүр мэддэг. Манай сонинууд ингэж харагдах болсон гол шалтгаан нь энэ.

Үүнтэй төстэй техникийг манай кодонд хэрэглэж болно:

// муу $my_email->set_from(" [имэйлээр хамгаалагдсан]")->нэмэх_(" [имэйлээр хамгаалагдсан]")-> set_subject("Гинжлэгдсэн аргууд")->set_body("Зарим урт мессеж")->send(); // сайн $my_email ->set_from(" [имэйлээр хамгаалагдсан]") ->нэмэх_(" [имэйлээр хамгаалагдсан]") ->set_subject("Гинжлэгдсэн аргууд") ->set_body("Зарим урт мессеж") ->send(); // bad $query = "Хэрэглэгчдээс id, хэрэглэгчийн нэр, нэр, овог нэр, статус СОНГОХ Хэрэглэгчийн нийтлэлийг АШИГЛАН ҮЛДҮҮЛЭХ. (users.id, user_posts.user_id) WHERE post_id = "123""; // bad $query = "Хэрэглэгчдээс ID, хэрэглэгчийн нэр, нэр, овог нэр, статусыг СОНГООРОЙ user_posts-д НЭГДСЭНЭ (users.id, user_posts.user_id) ХААНА. post_id = "123"";

Ихэнх хөгжүүлэгчид 80 ба 120 тэмдэгтийн хязгаарыг баримталдаг.

9. Файл, хавтас зохион байгуулах

Техникийн хувьд та програмынхаа бүх кодыг нэг файлд хийж болно :) Харин ямар нэг зүйл өөрчлөх, нэмэх шаардлагатай үед та яах вэ.

Би файл хавсаргасан анхны төслүүдээ санаж байна. Гэтэл миний зохион байгуулалт маш муу байсан. Би db.php болон functions.php гэсэн хэд хэдэн файл байршуулсан "inc" хавтас үүсгэсэн. Өргөдөл бичих явцад энэ хавтас томорч, эцэст нь юу хаана байгааг ойлгоход хэцүү байсан.

Энэ асуудлыг шийдэхийн тулд янз бүрийн төрлийн хүрээ ашиглах эсвэл ядаж тэдгээрийн бүтцийг дагаж мөрдөх нь дээр. CodeIgniter дээр төсөл иймэрхүү харагдаж байна:

10. Хувьсагчийн нэрс

Ерөнхийдөө хувьсагчийн нэр нь бүрэн утга учиртай байх ёстой - энэ бол хамгийн тохиромжтой тохиолдол юм. Түр зуурын хувьсагчдад үл хамаарах зүйл хийж болно.

Хэд хэдэн жишээг харцгаая:

// $i for гогцоонууд ($i = 0; $i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$v) ( ) // mysql-д $q, $r ба $d $q = "СОНГОХ * хүснэгтээс"; $r = mysql_query($q); while ($d = mysql_fetch_assocr($r)) ( ) // Файлуудтай ажиллахад $fp $fp = fopen("file.txt", "w");

11 - SQL хэл дээрх түлхүүр үгсийг том үсгээр бичнэ

Ихэнх вэб програмууд мэдээллийн сантай харьцдаг. Хэрэв та өөрөө SQL асуулга бичдэг бол тэдгээрийг бас зохих ёсоор форматлах хэрэгтэй ... Энд төвөгтэй зүйл байхгүй. Түлхүүр үгээ том үсгээр бичихэд л хангалттай.

12. Код болон өгөгдлийг тусад нь

Энэ бол илүү ойлгомжтой хөтөлбөр бичихэд туслах өөр нэг зарчим юм. Энэ нь нэг газар (жишээ нь, загвар) өгөгдөл бэлтгэх, өөр газар түүнтэй харилцах явдал юм.

PHP анх хөгжиж эхлэхэд энэ нь загварчлалын системтэй адил байсан. Энэ хэл дээрх төслүүд нь холимог HTML болон PHP код агуулдаг. Одоо бүх зүйл өөрчлөгдсөн бөгөөд хүн бүр програм бичих дараагийн түвшинд шилжих ёстой.

Та өөртөө зориулж тусгай хэв маягийг боловсруулж болно, эсвэл өнөөдөр та хамгийн алдартай арга хэрэгслийг ашиглаж болно.

Алдартай PHP Frameworks:

Загварын системүүд:

Алдартай CMS

13. Загварт зориулсан тусгай синтакс

Хэрэв та загварын системийг ашиглахыг хүсэхгүй байгаа бол PHP кодыг HTML-д оруулах өөрийн хэв маягийг хөгжүүлэх хэрэгтэй болно.

Мөн энд жишээ байна:

Сайн уу, хэрэглэгчийн нэр; ?>
|

Миний мессежийн самбар

гарчиг; ?>

Форумууд $forum): ?>

id, $forum->гарчиг) ?> (Threads->count(); ?> сэдвүүд)

тодорхойлолт; ?>

Энэ техник нь шаардлагагүй хаалтаас зайлсхийх боломжийг танд олгоно. Мөн ийм код нь HTML контекстэд сайн тохирдог.

14. Процедурын болон объект хандалтат хандлага

Объект хандалтат програмчлал нь танд тодорхой бүтэцтэй байхад тань туслах болно, гэхдээ энэ нь програм бичих процедурын зарчмаас хазайх ёстой гэсэн үг биш юм.

Объектууд нь өгөгдлийг илэрхийлэхэд тохиромжтой. Жишээ:

Class User ( public $username; public $first_name; public $ last_name; public $email; public function __construct() ( // ... ) public function create() ( // ... ) public function save() ( / / ... ) нийтийн функц устгах() ( // ... ) )

Процедурын аргууд нь өөрийн гэсэн давуу талтай байдаг.

Функц томоор бичих($string) ( $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); буцаах $ret; )

15. Нээлттэй эхийн кодыг уншина уу

Ер нь Нээлттэй эхийн төслүүдийг олон тооны хөгжүүлэгчид бичдэг. Энэ үүднээс авч үзвэл ижил төстэй төслүүдийн бичсэн кодыг судлах нь танд туршлага хуримтлуулахад тусална. Тиймээс үүнд цаг заваа үрэх хэрэггүй.

16. Рефакторинг

Refactoring гэдэг нь функцийг алдалгүйгээр кодыг өөрчлөх явдал юм. Унших чадварыг сайжруулахын тулд үүнийг бас ашиглаж болно. Алдаа засах, функц нэмэх зай байхгүй. Та зүгээр л кодынхоо бүтцийг бага зэрэг өөрчил.

Энэ нийтлэл танд хэрэг болсон гэж найдаж байна! Надад ямар нэг зүйл дутагдаж байна уу? Туршлагаасаа хуваалцаарай!

Таны амьдралд WP сайтынхаа сэдэв эсвэл зарим залгаасын функцэд ямар нэг зүйл нэмэхийг (засах) хүссэн үе бий гэж би бодож байна. Түүнээс гадна хөгжүүлэгчид энэ функцийг стандарт удирдлагад оруулаагүй болно. Гэхдээ таны сүнс ямар ч хязгаарлалтыг хүлээн зөвшөөрдөггүй бөгөөд сонирхолтой нислэг шаарддаг :) Таны ойлгож байгаагаар ямар ч нөхцөл байдлаас гарах арга зам байдаг, энэ тохиолдолд бид залгаасын кодыг засах хэрэгтэй болно, сэдэв ...

Кодыг засварлахад тулгардаг гол бэрхшээл бол харамсалтай нь таны хийсэн өөрчлөлтүүд удаан хугацаанд хадгалагдахгүй бөгөөд дараагийн шинэчлэлтийн үед цуцлагдах магадлалтай. Хэрэв таны харж байгаа шийдэл бол шинэчлэлтээс зайлсхийх явдал юм бол шинэчлэлтүүд нь аюулгүй байдал, алдаа засварын хувьд чухал өөрчлөлтүүдийг агуулдаг бөгөөд ихэвчлэн шинэ функцүүдийг нэмж оруулдаг тул би таныг энэхүү аюултай үл тоомсорлож буй шийдвэрээс татгалзаж зүрхлэх болно.

Үүний үр дүнд бидний эрч хүчтэй өөрчлөгдөж буй ертөнцөд зогсохуйц арга барилыг ашиглах нь зүйтэй бөгөөд үүний зэрэгцээ таны үнэт цагийг хэмнэх болно.

Анхааруулга!

Интернет дээр та файлд өөрчлөлт оруулахыг санал болгож буй зөвлөгөөг ихэвчлэн олж болно functions.php- Хэрэв үүнгүйгээр хийх боломж байгаа бол энэ файлд хүрэхгүй байх нь дээр. Доорх аргуудаас та үүнийг хэрэгжүүлэх арга замыг харах болно. Ямар ч тохиолдолд та хүүхдийн сэдвийг бий болгож, эцэг эхийн сэдвийг хөндөхгүй байх хэрэгтэй.

Функцид угтвар нэмэхдээ дараах маягт дахь захиалгат кодыг үргэлж ашиглана. _ угтвар(өөрчлөгдөж буй функцийн нэр рүү). Энэ үйлдэл нь таныг сэдэв эсвэл залгаасын бусад функцуудтай зөрчилдөхөөс хамгаалах болно.

Тэгэхээр, WP вэбсайтад кодыг хэрхэн нэмэх вэ?

1) Тусгай залгаас

Ингэснээр та кодын хэсгүүдийг оруулах боломжтой бөгөөд шинэчлэлтийн явцад тэдгээр нь устахгүй, мөн та тэдгээрийг засах, ирээдүйд идэвхжүүлэх, эсвэл эсрэгээр шаардлагатай бол идэвхгүй болгох боломжтой.

Үүнийг хийхэд хялбар: эхлээд та залгаасдаа лавлах үүсгэх хэрэгтэй бөгөөд үүний дагуу нэрлэх хэрэгтэй, жишээлбэл moy-plugin (доод ташуу биш зөвхөн зураас ашиглана уу)

Дараа нь бид үндсэн залгаас файлыг үүсгэнэ. Таны ойлгож байгаагаар энэ нь нэр, тайлбар, үндсэн мэдээлэл, түүнчлэн залгаасыг халдагчдаас хамгаалахад туслах кодыг агуулсан байх ёстой. Бид энэ файлыг moy-plugin.php гэж нэрлэе. .php өргөтгөл нь WP-д тухайн файлыг ямар хэлээр үүсгэснийг хэлэх болно.

Та Windows үйлдлийн системд (Mac дээрх TextEdit) сайтар суулгасан NotePad гэх мэт ямар ч текст засварлагч дээр дээр дурдсан аргыг ашиглан файл үүсгэж болно. Microsoft Word засварлагчийг ашиглахгүй байх нь дээр, учир нь энэ нь текстийг форматалдаг бөгөөд энэ тохиолдолд бидэнд огт хэрэггүй болно.

Тиймээс энд нэмэх код байна:

Мөн энэ кодын доор өөрийн бүтээлч сэтгэлгээний шаардлагын дагуу өөрчлөлтөө хий. Төгсгөлд нь хаах PHP хаягуудыг нэмэх шаардлагагүй. Энэ тохиолдолд нэр, тайлбар, URL нь таны админ самбарт харагдах болно. Мэдээжийн хэрэг та "ClubWP" мэдээллийг өөрийн мэдээллээр сольж болно

Үүний дараа хийсэн зүйлээ зип архивт хийж, сайтынхаа ftp руу илгээх л үлдлээ. Ирээдүйд ийм байдлаар та залгаасдаа ямар нэгэн өөрчлөлт хийх боломжтой.

Ийм хялбар аргаар та өөрийн хэрэгцээнд зориулж энгийн залгаас үүсгэх болно.

2) Кодын хэсгүүдийн залгаас

Хэрэв дээр дурдсан арга нь танд хэцүү, эсвэл та маш практик хүн бөгөөд илүү хурдан үр дүнд хүрэхэд дассан бол Кодын хэсгүүдийг танд зориулж тусгайлан бүтээсэн болно. Дээр дурдсан функцийн нэгэн адил залгаас нь таны кодыг таны сэдвийг ашиглахгүйгээр цаашид засварлах боломжтой болгодог.

Залгаасыг суулгасны дараа админ самбар дээр шинэ "Хэсэг" цонх гарч ирэх бөгөөд үүний дагуу та шинэ хэсгүүдийг нэмж болно. Үүний тулд та код болон түүний зорилгын талаархи мэдээллийг оруулах боломжтой.

Тиймээс та нэмэлт өргөтгөл хэлбэрээр тусгай кодыг идэвхжүүлэх эсвэл идэвхгүй болгох боломжтой. Маш тохиромжтой, практик, учир нь... Заримдаа сэдэв болон залгаасуудтай зөрчилдөж болзошгүй тул та үүнийг хялбархан ойлгож, үүсгэсэн кодыг идэвхгүй болгох боломжтой.

3) Хүүхдийн сэдвийн Functions.php-г засварлах

Хэрэв залгаасуудыг ашиглах нь танд тохиромжгүй бөгөөд та сайтынхаа сэдэвт шууд өөрчлөлт оруулах шаардлагатай бол энэ арга нь танд зориулагдсан болно. Та үүнийг зөвхөн хүүхдийн сэдвээр хийж болно гэдгийг сануулъя.

Энэ аргыг ашиглахын тулд би өөрийн загварыг санал болгож байна functions.phpхүүхдийн сэдэв. Файлыг задалж засварлана уу style.css(загварын нэр болон импортын URL)

P.S.Ирээдүйд амьдралаа хялбарчлахын тулд шаардлагатай бүх зүйлийг хийхийг хичээ, үүнд алдаа дутагдлыг арилгах, захиалгат кодыг засварлах зэрэг хэцүү ажил орно.